「36」の文字列入力がある場合はOK
これらの2つのintを配列に入れるにはどうすればよいですか?それらの間に複数のスペースがある場合はどうなりますか?
これらの数値を{3、6}のような配列にしたいとしましょう。それは可能ですか?ありがとう
これを試して、正規表現を使用して、1つ以上のスペースのシーケンスが見つかったときに入力文字列を分割し、結果String[]
をint[]
:に変換します。
String numberString = " 1 2 34 7 ";
String[] numbers = numberString.split("\\s+");
int[] ints = new int[numbers.length];
for (int i = 0; i < ints.length; i++)
ints[i] = Integer.parseInt(numbers[i]);
これで、ints
配列に期待値が含まれます。
System.out.println(Arrays.toString(ints));
> [1, 2, 34, 7]
Scanner sc = new Scanner(mString);
while (sc.hasNextInt()){
mArrayList.add(sc.nextInt())
}
次に、ArrayListを配列に変換し直します。
$string = "3 6 4 879";
preg_match_all('/\d+(?=\s*)/', $string, $arr);
これがPHPのやり方です。
たとえば、問題に対してsplitを使用できます。
スペースで分割するプログラム[C#]
static void Main()
{
string s = "1 3 2 7";
//
// Split string on spaces.
// ... This will separate all the words.
//
string[] words = s.Split(' ');
foreach (string word in words)
{
Console.WriteLine(word);
}
}
出力
1 3 2 7