如何使用任何空白字符分隔字符串来分隔符?

我是研究僧i 提交于 2020-02-26 03:41:21

我需要哪种正则表达式模式传递给java.lang.String.split()方法,以使用所有空格字符('','\\ t','\\ n'等)将字符串拆分为子字符串数组作为分隔符?


#1楼

Apache Commons Lang有一种使用空格字符作为分隔符的字符串分割方法:

StringUtils.split("abc def")

http://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html#split(java.lang.String)

这可能比正则表达式模式更易于使用。


#2楼

“ \\\\ s +”应该可以解决问题


#3楼

在大多数regex方言中,可以使用一组方便的字符摘要来进行此类操作-这些是值得记住的好方法:

\\w匹配任何单词字符。

\\W匹配任何非单词字符。

\\s匹配任何空格字符。

\\S匹配除空格字符以外的任何字符。

\\d匹配任何数字。

\\D匹配除数字以外的任何内容。

搜索“ Regex备忘单”应该为您提供很多有用的摘要。


#4楼

某些东西

myString.split("\\s+");

这会将所有空白分组为分隔符。

因此,如果我有字符串:

"Hello[space][tab]World"

这将产生字符串"Hello""World"并省略[space][tab]之间的[space]

正如VonC指出的那样,应该转义反斜杠,因为Java首先会尝试将字符串转义为特殊字符,然后将发送给解析。 您想要的是文字"\\s" ,这意味着您需要传递"\\\\s" 。 可能会造成一些混乱。

\\\\s等效于[ \\\\t\\\\n\\\\x0B\\\\f\\\\r]


#5楼

您可以使用以下语句按换行符分割字符串:

 String textStr[] = yourString.split("\\r?\\n");

您可以使用以下语句按空格分隔字符串:

String textStr[] = yourString.split("\\s+");
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!