按空格或\ n拆分字符串

时间:2018-05-31 00:29:36

标签: java

我想用两个分隔符分割一个字符串:一个空格("")或一个新行(\ n)。

我尝试过的事情:

message.split("\\r?\\n? ");

它按空格分割,但不是通过\ n转动:

  

我看到它的方式我们有两个选择。选项一,我们采取简单的方式
  出。它快速无痛。我不是第一选择的粉丝。方案二,
  我们打架。

成:

[The, way, I, see, it, we, got, two, options., Option, one,, we, take, the, easy, way, out., It's, quick, and, painless., I'm, not, a, fan, of, option, one.Option, two,, We, fight.]

请注意,one.Option是数组中的一个单元格。

2 个答案:

答案 0 :(得分:2)

"\\r?\\n? "

这会让它分为"\\r\\n ""\\n ""\\r "" ",但绝不会"\\r""\\n"或{ {1}}没有空格。

以下内容将告诉它按"\\r\\n""\\r""\\n"的任意连续组合分割至少一个字符:

" "

答案 1 :(得分:1)

从评论中,尝试"\\s+"分割一个或多个空白字符。这包括空格,制表符,换行符,回车符,换行符等等,所以它可能对你想要的东西来说太大了。

final String message = "The way I see it we got two options. Option one, we take the easy way\n" +
        "out. It's quick and painless. I'm not a fan of option one. Option two,\n" +
        "We fight.";
System.out.println(String.join(", ", message.split("\\s+")));

可生产

  

,方式,我,看,它,我们,得到,两个,选项。,选项,一个,我们,接受,简单,方式,外出。,它是,快速,无痛。我是,不,是,粉丝,选择,一个。,选项,两个,我们,战斗。