如何拆分包含空格的字符串

时间:2016-09-26 18:59:05

标签: java string split

我有这个代码,让用户输入一个字符串,其中2个部分由字符( - )分隔,输入的字符串将被分成两个不同的部分,然后在屏幕上输出这两个部分,由逗号。

public class Test
{
public static void main(String[] args)
{
    java.util.Scanner scanner = new java.util.Scanner(System.in);

    String part = "";

    System.out.println("Please enter the 2-part string to be split: ");
    part = scanner.next();

    String[] parts = part.split("-");
    String part1 = parts[0];
    String part2 = parts[1];

    System.out.print("," + part1 + "," + part2);

    scanner.close();
}

}

现在让我们说用户输入

  

AAA-222

结果将是

  

AAA,222

如果我想输入一个包含空格的字符串,例如

,该怎么办?
  

我爱你 - 我讨厌你

我如何分裂(我爱你)和(我讨厌你)?  我用上面的代码得到了这个错误。

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
    at tutorial.Test.main(test.java:17)

PS。拆分部分应包含空格。

1 个答案:

答案 0 :(得分:7)

而不是使用

part = scanner.next();

https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#next()

使用

part = scanner.nextLine();

https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextLine()

接下来,只读入令牌的末尾。 nextLine读取的位置,直到用户转到下一行(按回车键)