在整数上拆分字符串,后跟空格

WeV*_*Vie 5 java regex string split

我有一个相当大的String我需要拆分所以我可以把它放入一个数组.实际上,会有一个分号后跟Integer一个空格,后面跟一个空格,这就是我需要拆分的地方.

比方说,我有一个String:

 first aaa;0 second bbb;1 third ccc;2
Run Code Online (Sandbox Code Playgroud)

我需要拆分它,使它成为:

 first aaa;0 
 second bbb;1
 third ccc;2
Run Code Online (Sandbox Code Playgroud)

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

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

我还不太了解RegEx.

感谢任何人看一看

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

Avi*_*Raj 18

只需根据以下正则表达式拆分输入字符串即可.

(?<=;\\d)\\s
Run Code Online (Sandbox Code Playgroud)

码:

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

输出:

[first aaa;0, second bbb;1, third ccc;2]
Run Code Online (Sandbox Code Playgroud)

说明:

  • (?<=;\d)这里使用正面的lookbehind.它将匹配标记设置在后面;<number>.也就是说,它声明空格字符必须是分号和数字之前的内容.
  • (?<=;\d)\s 现在它匹配以下空格字符.
  • 根据匹配的空间拆分输入字符串将为您提供所需的输出.