【问题标题】:Java - Splitting String based on multiple delimitersJava - 基于多个分隔符拆分字符串
【发布时间】:2012-02-27 07:49:50
【问题描述】:

我基本上想根据句子拆分一个字符串,因此(为了我正在做的事情),只要有!.?:、@ 987654325@.

如何使用多个项目来拆分数组?

谢谢!

【问题讨论】:

    标签: java arrays string split


    【解决方案1】:

    String.split 采用正则表达式进行拆分,因此您可以简单地:

    mystring.split("[!.?:;]");
    

    【讨论】:

      【解决方案2】:

      Guava's SplitterString.split() 有点more predictable

      Iterable<String> results = Splitter.on(CharMatcher.anyOf("!.?:;"))
         .trimResults() // only if you need it
         .omitEmptyStrings() // only if you need it
         .split(string);
      

      然后你可以使用Iterables.toArrayLists.newArrayList 来包装你喜欢的输出结果。

      【讨论】:

        【解决方案3】:

        String.split 的参数是一个正则表达式,因此您可以创建一个匹配任何这些字符的模式。

        s.split("[.!:;?]");
        

        【讨论】:

          【解决方案4】:

          您可以使用带有参数"[!.?:;]"String.split(String regex) 方法。

          【讨论】:

            最近更新 更多