当前位置: 首页 > 知识库问答 >
问题:

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

韦俊英
2023-03-14
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();
}

}

现在假设用户enterd

AAA-222

结果将是

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

ps.拆分的部分应该包括空格。

共有1个答案

宋典
2023-03-14

而不是使用

part = scanner.next();

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

使用

part = scanner.nextLine();
 类似资料:
  • 我想用空格和特殊字符(如果有的话)来分割字符串。例如:用于表示移动交换中心(信号强度)。 目前我正在使用正则表达式来拆分字符串,但我无法同时实现空格和特殊字符的拆分。 更新代码:

  • 我目前正在尝试将字符串拼接成多行字符串。正则表达式应选择前面有 13 个字符的空格。 问题在于,13个字符的计数在前一个选定的空白之后不会重置。因此,在前13个字符之后,正则表达式选择每个空白。 我使用以下正则表达式,其 13 个字符: (结尾有一个空格) 您可以在这里测试正则表达式和以下代码: 此代码的输出如下所示: 这是个测试。 应用 应在 13 个字符后的空格上以子字符串分隔此字符串 但应该

  • 问题内容: 我想用多个定界符分割一个字符串,但将定界符保留在结果列表中。我认为这是解析任何一种公式的初始步骤都是有用的,而且我怀疑有一个不错的Python解决方案。 有人在这里用Java问了类似的问题。 例如,典型的拆分如下所示: 但是我正在寻找一种添加加号(或保留它)的好方法: 最终,我想对每个运算符和括号进行此操作,因此,如果有一种方法 一劳永逸,那就更好了。 问题答案: 您可以使用Pytho

  • 问题内容: 因此,stdin将一串文本返回到列表中,并且多行文本都是列表元素。您如何将它们全部分割成一个单词? 想要的输出: 问题答案: 您可以使用简单的列表推导,例如: 这将产生:

  • 这个问题类似于我之前的问题拆分一个包含破折号和减号的字符串。但我问错了,然后它得到了稍微不同的语义,人们从这个角度回答(包括)。因此,与其修改这个问题,我认为最好是提出一个新问题。 我必须拆分一个包含连字符-减号和减号的字符串。我尝试根据Unicode字符(https://en.wikipedia.org/wiki/Hyphen#Unicode)进行拆分,但考虑到减号与连字符-减号相同。有什么方法

  • 问题内容: 什么正则表达式模式需要我传递给 拆分成字符串使用的所有空格字符(子字符串数组,等)作为分隔符? 问题答案: 某些东西 这会将所有空白分组为分隔符。 因此,如果我有字符串: 这将产生字符串并省略和之间的空白。 正如VonC指出的那样,应该转义反斜杠,因为Java首先会尝试将字符串转义为特殊字符,然后将其发送给解析。你想要的是字面量,这意味着你需要通过。可能会造成一些混乱。 在相当于。