上拆分的值
我应该用 String.split()
传递的正则是什么,以便用任何 symbol ?
现在,通过任何符号我的意思是以下任何一个:
`~`, `!`, `@`, `#`, ...
基本上任何非字母和非数字可打印字符。
您应该使用一个非单词,即 W
W
是 w
W
与 [^a-zA-Z0-9_]
相似,因此除了 _
或
您可以简单地使用[^a-zA-Z0-9]
您可以尝试使用以下方式: -
str.split("[^a-zA-Z0-9]");
这将不包括underscore
。
W
等于:-"[a-zA-Z0-9_]"
您可以像Spring.split("[~!@$]")
一样具体,或者列出您不想在Spring.split("[^\w]")
您可能需要使用W
或^w
。您可以在此处找到更多详细信息: REGEX:字符类
String str = "a@v$d!e";
String[] splitted = str.split("\W");
System.out.println(splitted.length); //<--print 4
或
String str = "a@v$d!e";
String[] splitted = str.split("[^\w]");
System.out.println(splitted.length); //<--print 4