作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
ruby 2.4。我想用多个空格分割一行,即多个空格或不间断空格,或者不是单个空格的空格(如制表符或换行符)。我尝试了以下
tokens_by_spaces = line.split(/\s\s+/)
但这失败了。例如,如果行是
"A B\tC D"
以上返回
["A B\tC D"]
而我希望它返回
["A B", "C D"]
同样,如果我的线路是
"ab c def g"
我想要的结果是
["ab c", "def g"]
最佳答案
我建议使用
/[ \u00A0]*(?:[[:space:]&&[^ \u00A0]][ \u00A0]*)+|[[:space:]]{2,}/
参见 regex demo .
虽然看起来 \s
可以匹配任何 Unicode 空格,但前提是该模式以 (?u)
为前缀,[[:space:]]
似乎是一种更常用的匹配任何 Unicode 空格的方法。
详细信息:
该模式有 2 个分支匹配...
[\u00A0]*(?:[[:space:]&&[^\u00A0]][\u00A0]*)+
- 至少包含 1 个非空间/不间断空间
[\u00A0]*
- 出现零次或多次常规或不间断空格(?:[[:space:]&&[^\u00A0]][\u00A0]*)+
- 一次或多次出现:
[[:space:]&&[^\u00A0]]
-(字符类减法)除常规/不间断空格之外的任何空格[\u00A0]*
- 零个或多个常规/不间断空格|
- 或者[[:space:]]{2,}
- 2 个或更多空白符号关于ruby - 如何在非传统空白处拆分字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42147448/
我是一名优秀的程序员,十分优秀!