用任何符号拆分字符串



我应该用 String.split()传递的正则是什么,以便用任何 symbol

将字符串分开

现在,通过任何符号我的意思是以下任何一个:

`~`, `!`, `@`, `#`, ...

基本上任何非字母和非数字可打印字符。

您应该使用一个非单词,即 W

Ww

的倒数

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

最新更新