【问题标题】:How to split string in Java on whitespace? [duplicate]如何在空格上拆分Java中的字符串? [复制]
【发布时间】:2012-11-09 21:23:57
【问题描述】:

可能重复:
How do I split a string with any whitespace chars as delimiters?

是的,我尝试在 google 和 stackoverflow 上搜索它,但没有好的结果。我有一个字符串,可以说:“让我们在 Java 中进行一些编码”,我想得到字符串(将其拆分为空格):

让,做,一些,编码,在,Java

我为此使用了string.split("\\s"),但知道我需要使用正则表达式。有什么想法吗?

【问题讨论】:

  • "\\s" 是单个空格字符的正则表达式,请参阅Pattern class
  • 将 google 与“java regex split”一起使用可为您提供所需的所有信息..,
  • 如果你看到String.split()的文档,它只是将Regex作为参数进行拆分。
  • String.split() 将正则表达式作为参数,因此您的问题没有意义。
  • 你有没有看过 JavaDocs for split docs.oracle.com/javase/1.4.2/docs/api/java/lang/…。它清楚地说它需要一个正则表达式。

标签: java regex string


【解决方案1】:
String str = "Hello How are you";
String arrayString[] = str.split("\\s+") 

请用这个

【讨论】:

  • 这样可以吗,他提到了作为字符串,这就是我关注的原因。抱歉造成混淆。
【解决方案2】:

要将空格指定为分割字符,可以将" " 作为参数传递给String#split。 示例:

String test="Lets do some coding in Java";
    for(String token : test.split(" "))
        System.out.println(token);

【讨论】:

  • 最好使用\\s+ 分割任意数量的空格。
  • 它不会工作它有多个空格。String s ="hello sorry".
  • 它有一个空格,我的代码会将“hello sorry”分成“hello”和“sorry”(尝试)。正如@RohitJain 指出的那样,它不会处理测试短语有多个空格的情况。你的解决方案比我的好,因为它更通用。
猜你喜欢
  • 2012-10-16
  • 2011-06-19
  • 1970-01-01
  • 2015-11-26
  • 1970-01-01
  • 2011-12-28
相关资源
最近更新 更多