mcj*_*erz 542 java string whitespace split
什么正则表达式模式需要传递给java.lang.String.split()方法,使用所有空格字符('','\ t','\n'等)作为分隔符将String拆分为子串数组?
Hen*_*aul 940
有些东西
myString.split("\\s+");
Run Code Online (Sandbox Code Playgroud)
这将所有空格分组为分隔符.
所以,如果我有字符串:
"Hello[space][tab]World"
这应该产生字符串"Hello","World"并省略[space]和之间的空白空间[tab].
正如VonC指出的那样,反斜杠应该被转义,因为Java会首先尝试将字符串转义为特殊字符,然后发送它进行解析.你想要的是文字"\s",这意味着,你需要通过"\\s".它可能会有点混乱.
在\\s相当于[ \\t\\n\\x0B\\f\\r]
gle*_*ron 85
在大多数正则表达方言中,有一组方便的字符摘要可用于此类事情 - 这些都是值得记住的好方法:
\w - 匹配任何单词字符.
\W - 匹配任何非单词字符.
\s - 匹配任何空白字符.
\S - 匹配除空格字符之外的任何内容.
\d - 匹配任何数字.
\D - 匹配除数字之外的任何内容.
搜索"Regex Cheatsheets"应该会奖励你很多有用的摘要.
Mik*_*ard 61
为了在Javascript中工作,我必须执行以下操作:
myString.split(/\s+/g)
Run Code Online (Sandbox Code Playgroud)
Von*_*onC 36
"\\ s +"应该可以解决问题
小智 10
你也可以拥有一个UniCode不间断空间xA0 ......
String[] elements = s.split("[\\s\\xA0]+"); //include uniCode non-breaking
Run Code Online (Sandbox Code Playgroud)
Arr*_*row 10
String string = "Ram is going to school";
String[] arrayOfString = string.split("\\s+");
Run Code Online (Sandbox Code Playgroud)
Apache Commons Lang有一种方法可以将带有空格字符的字符串拆分为分隔符:
StringUtils.split("abc def")
Run Code Online (Sandbox Code Playgroud)
这可能比正则表达式更容易使用.
| 归档时间: |
|
| 查看次数: |
663279 次 |
| 最近记录: |