你好我试过很多方法来完成这个但是我失败了。 你可以帮帮我吗 ? 我需要双分裂一个是“\ 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];
}
非常感谢你的答案:) 祝你有愉快的一天。
答案 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;