1

好的,如果我有一个“3 6”的字符串输入

如何将这两个 int 放入数组中?如果它们之间有多个空格怎么办?

假设我希望这些数字位于 {3, 6} 之类的数组中,这可能吗?谢谢

4

4 回答 4

3

试试这个,只要找到一个或多个空格的序列,就使用正则表达式拆分输入字符串,然后将结果转换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]
于 2012-04-22T00:58:46.593 回答
0
Scanner sc = new Scanner(mString);
while (sc.hasNextInt()){
    mArrayList.add(sc.nextInt())
}

然后只需将 ArrayList 转换回数组。

于 2012-04-22T01:00:46.797 回答
0
$string = "3 6 4 879";
preg_match_all('/\d+(?=\s*)/', $string, $arr);

这是一种 PHP 方法。

于 2012-04-21T22:42:10.550 回答
0

您可以使用 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

于 2012-04-21T22:43:26.317 回答