Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.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中使用split()删除句子中的所有分隔符?_Java_Regex_String_Split - Fatal编程技术网

如何在Java中使用split()删除句子中的所有分隔符?

如何在Java中使用split()删除句子中的所有分隔符?,java,regex,string,split,Java,Regex,String,Split,这个拆分方法是在教科书中提供的,旨在删除句子中的所有分隔符以及空白字符,但显然它不起作用,并抛出一个正则表达式异常,这让我很失望……我想知道我们在这里能做些什么使它起作用?要求是在split方法之后,`String[]单词中的所有内容要么只是没有任何分隔符的英语单词,要么是空白字符!非常感谢 角色类中缺少结尾] String text = "Good morning. Have a good class. " + "Have a good visit. Have fun!"; String[]

这个拆分方法是在教科书中提供的,旨在删除句子中的所有分隔符以及空白字符,但显然它不起作用,并抛出一个正则表达式异常,这让我很失望……我想知道我们在这里能做些什么使它起作用?要求是在split方法之后,`String[]单词中的所有内容要么只是没有任何分隔符的英语单词,要么是空白字符!非常感谢

角色类中缺少结尾]

String text = "Good morning. Have a good class. " +
"Have a good visit. Have fun!";
String[] words = text.split("[ \n\t\r.,;:!?(){");
顺便说一句,你可以这样做,这是更好的选择:

String[] words = text.split("[ \n\t\r.,;:!?(){]");
拆分任何非单词字符。

String.split不用于删除字符。它用于将字符串划分为更小的子字符串

例如:

String[] words = text.split("\\W+");
Split将使用字符串一个空格字符作为分隔符来拆分字符串。因此,数组标记看起来像

String s = "This is a string!";
String[] tokens = s.split(" ");

如果要删除字符,请查看您忘记关闭字符类的情况。在正则表达式的末尾添加]。您还可以添加+以使其找到一个或多个连续分隔符。\\n W可能不是最好的主意。它也会在“所以不要迟到”上分开!将以Don…嗯,在这种情况下,[\\W&&[^\']]将是更好的用于拆分的正则表达式。是的,这可能会起到作用,但让我们不要混淆似乎是正则表达式新手的OP:LOL,thx伙计们。感谢你的帮助。我对regex很陌生,我觉得这很奇怪。
{"This", "is", "a", "string!"}