int配列に変換できる場合は、文字列引数を検証する必要があります。Regex for int配列
String pattern = "(\\d+[,])+";
String test = "18,32,5,8,10";
test2.matches(pattern2) //returns false as i requires , in the end
最後無視するどのような方法があります ''
int配列に変換できる場合は、文字列引数を検証する必要があります。Regex for int配列
String pattern = "(\\d+[,])+";
String test = "18,32,5,8,10";
test2.matches(pattern2) //returns false as i requires , in the end
最後無視するどのような方法があります ''
私は正規表現を使用する方法を知っていると場合ないので
\\d+(?:,\\d+)+
この正規表現は、あなたのために動作します( "有効な配列" をチェック):
public static void main(String[] args) {
String s = "18,32,5,8,10";
System.out.println(s.matches("(?!.*,$)(?!,.*$)(\\d+(?:,|$))+"));
}
確認とのために失敗します。
...数字は(,
桁)が続くべきであることを指定するには、グループの構造を使用します私は、あなたの場所にあった私が見ることができる任意ののparseInt()メソッドはのtry-catch aに包まれなければならないに呼び出すことこれであるならば、これは、このコードでそう
String test = "18,32,5,8,10";
String str[]=test.split(",");
int ar[] = new int[str.length];
for(int i = 0; i<ar.length; i++){
ar[i] = Integer.parseInt(str[i]);
}
問題を行うには私の方法だっただろう文字列に数字とカンマ(、)以外の値が含まれる場合、NumberFormatExceptionがスローされます。
はい。今度は、 '\\ d +(?:、\\ d +)+'は正しい選択です – TheLostMind
こんにちは@hwnd、これはtest = "18"のような単一の値では失敗しています – hacker
' * '...'(?:、\\ d +)* ' – hwnd