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
现在它匹配以下空格字符.