Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用任意符号拆分字符串_Java_Regex_Symbols_String Split - Fatal编程技术网

Java 用任意符号拆分字符串

Java 用任意符号拆分字符串,java,regex,symbols,string-split,Java,Regex,Symbols,String Split,我应该通过String.split传递什么正则表达式才能通过任何符号拆分字符串 现在,我所说的任何符号都是指以下任何符号: `~`, `!`, `@`, `#`, ... 基本上是任何非字母和非数字可打印字符。您应该使用非单词,即\W \W是\W的倒数 \W类似于[^a-zA-Z0-9],因此将匹配除_ 或 您可以简单地使用[^a-zA-Z0-9]您应该使用非单词,即\W \W是\W的倒数 \W类似于[^a-zA-Z0-9],因此将匹配除_ 或 您可以简单地使用[^a-zA-Z0-9]您可以像

我应该通过String.split传递什么正则表达式才能通过任何符号拆分字符串

现在,我所说的任何符号都是指以下任何符号:

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

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

您应该使用非单词,即\W

\W是\W的倒数

\W类似于[^a-zA-Z0-9],因此将匹配除_


您可以简单地使用[^a-zA-Z0-9]

您应该使用非单词,即\W

\W是\W的倒数

\W类似于[^a-zA-Z0-9],因此将匹配除_


您可以简单地使用[^a-zA-Z0-9]

您可以像Spring一样具体。拆分[~!@$]或列出您不想在Spring时拆分的值。拆分[^\\w]

您可以像Spring一样具体。拆分[~!@$]或列出您不想在Spring时拆分的值。拆分[^\\w]

您可以尝试使用以下方法:-

str.split("[^a-zA-Z0-9]");
这将不包括下划线


\W相当于:-[a-zA-Z0-9.]

您可以尝试使用以下方法:-

str.split("[^a-zA-Z0-9]");
这将不包括下划线

\W相当于:-[a-zA-Z0-9.]

您可能需要使用\W或^\W。您可以在此处找到更多详细信息:

您可能需要使用\W或^\W。您可以在此处找到更多详细信息:


你是指任何非字母数字字符吗?.split[^a-zA-Z0-9]你是指任何非字母数字字符吗?.split[^a-zA-Z0-9][^\w]=\w=[^a-zA-Z0-9],所以它包括下划线。[^\w]=\w=[^a-zA-Z0-9],所以它包括下划线。[\\w]是多余的,为什么不只是\\w?@NullUserException:我开始使用不同的模式,例如。[^a-zA-Z0-9]然后替换为\W:已删除大括号。[\\W]是多余的,为什么不只是\\W?@NullUserException:我开始放置不同的模式,例如[^a-zA-Z0-9],然后替换为\W:已删除大括号。[[u^\ W]不是你想象的那样。哦。那么我们如何从中删除?如果不是第一个字符,插入符号没有特殊意义;所以你所拥有的相当于[a-zA-Z0-9\^]@NullUserException。是的,没错。所以我删除了它。有没有办法使用\W而不使用\[\u^\ W]不是你想象的那样。哦。那么我们如何从中删除?如果插入符号不是第一个字符,则没有特殊意义;因此你所拥有的等同于[a-zA-Z0-9\^]@NullUserException。是的,没错。所以我删除了它。有没有办法使用\W而不使用\uU2?
    String str = "a@v$d!e";
    String[] splitted = str.split("[^\\w]");
    System.out.println(splitted.length); //<--print 4