【问题标题】:Split a String on an Integer followed by a space在整数上拆分字符串,后跟空格
【发布时间】:2014-09-19 05:36:27
【问题描述】:

我有一个相当大的String 需要拆分,以便将其放入数组中。实际上,将有一个分号,后跟一个Integer,然后是一个空格,这就是我需要拆分它的地方。

比如说,我有一个String:

 first aaa;0 second bbb;1 third ccc;2

我需要把它拆分成:

 first aaa;0 
 second bbb;1
 third ccc;2

我假设我可以使用类似的东西:

 Pattern pattern = Pattern.compile(^([0-9]*\s");
 myArray = pattern.split(string_to_split);

我只是还不太了解 RegEx。

感谢任何人的关注

此外,它应该被分割的模式将始终是一个分号,后跟一个数字,然后是空格。

【问题讨论】:

    标签: java regex string split


    【解决方案1】:

    只需根据以下正则表达式拆分您的输入字符串。

    (?<=;\\d)\\s
    

    代码:

    String s = "first aaa;0 second bbb;1 third ccc;2";
    String[] tok = s.split("(?<=;\\d)\\s");
    System.out.println(Arrays.toString(tok));
    

    输出:

    [first aaa;0, second bbb;1, third ccc;2]
    

    说明:

    • (?&lt;=;\d) 此处使用正向后视。它将匹配标记设置在;&lt;number&gt; 之后。也就是说,它断言空格字符之前的必须是分号和数字。
    • (?&lt;=;\d)\s 现在它匹配以下空格字符。
    • 根据匹配的空间拆分输入字符串将为您提供所需的输出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-18
      • 2015-11-26
      • 1970-01-01
      • 1970-01-01
      • 2014-02-15
      • 1970-01-01
      • 2016-12-06
      相关资源
      最近更新 更多