正则表达式分割为多个符号String s="He is a very very good boy, isn't he?"
String[] sa = s.split("[!, ?._'@]");
System.out.println(sa.length);
for (String string : sa) {
System.out.println(string);
}
11
He
is
a
very
very
good
boy
isn
t
he
使用
String[] sa = s.split("[!, ?._'@]+");
10
He
is
a
very
very
good
boy
isn
t
he
正则表达式中的 +
即用于一个或多个,但这个空间是如何来的?
答案 0 :(得分:0)
这是因为split
函数在 boy 之后创建了一个数组元素,其中包含逗号,
和空格之间的空字符串。
arr = ['He', 'is', 'a', 'very', 'very', 'good', 'boy', '', 'isn', 't', 'he']
该函数可以在分割文本时在逗号和空格之间存在一些文本,从而有效地生成该空字符串。
当您使用+
符号时,您将按“组”字符进行拆分,并将逗号和空格作为拆分正则表达式,而不是在这些字符之间生成空字符串。