JAVA - 双重拆分字符串并转换为整数

时间:2015-09-20 10:07:24

标签: java arrays string split integer

你好我试过很多方法来完成这个但是我失败了。 你可以帮帮我吗 ? 我需要双分裂一个是“\ n”,第二个是“|”。 在textArea中是字符串 350 | 450 \ n 444 | 452 \ n 等等。 有鼠标坐标。 X | Y 在int数组中我需要

array[0]= x coord;
array[1]= y coord;
array[2]= x coord;
array[2]= y coord;

所以我在textarea中有字符串。我用“\ n”分割它

String s[]= txtArea.getText().split("\\n");

这是一个分裂,在textarea我有150 | 255的东西 这是我的鼠标坐标x | y。 所以我需要下一个拆分“|”。

String s2[] = s[i].split("|");

之后

int [] array = new [s.length*2];

的一些方法
while(!(s[j].equals("|")))
array[i] = Integer.parseInt(s[j]);

我尝试过类似的东西 -

for(String line : txtArea.getText().split("\\n")){
            arrayXY = line.split("\\|");
            array = new int[arrayXY.length];
        }

非常感谢你的答案:) 祝你有愉快的一天。

2 个答案:

答案 0 :(得分:4)

这可以使用正则表达式轻松解决:

String[] split = input.split("\\||\n");
然后,

split将包含输入中的单个数字。

答案 1 :(得分:0)

使用Scanner。它始终优先于String.split()

您的代码将缩减为:

Scanner scanner = new Scanner(txtArea.getText());
scanner.useDelimiter("\\||\\n");          // i.e. | and the new line
for (int i = 0; i < array.length; i++) {  // or use the structure you need
    array[i] = scanner.nextInt();
}

另外,不要忘记import java.util.Scanner;

相关问题