假设我们有一个字符串:
String x = "a| b |c& d^ e|f";
我想要获得的内容如下:
a
|
b
|
c
&
d
^
e
|
f
如何使用x.split(regex)
实现此目的?即什么是正则表达式?
我试过这个链接:How to split a string, but also keep the delimiters?
它给出了一个非常好的解释,说明如何使用一个分隔符。 但是,使用和修改它以适应多个分隔符(前瞻和后瞻机制)对于不熟悉正则表达式的人来说并不那么明显。
答案 0 :(得分:2)
在单词边界之后对可选空格进行拆分的正则表达式
\\b\\s*
请注意\\b
检查前面的字符是字母,数字还是下划线,然后匹配字符串将被拆分的任意数量的空白字符。
以下是Java code on IDEONE示例:
String str = "a| b |c& d^ e|f";
String regex = "\\b\\s*";
String[] spts = str.split(regex);
for(int i =0; i < spts.length && i < 20; i++)
{
System.out.println(spts[i]);
}