当处理包含文本的.tsv
文件时,我有时需要规范化不同类型的空白字符(非中断空格,em-space等)。
有没有办法匹配所有这些,但不是字段分隔符(选项卡),所以可以一次处理整个文件,而不将其拆分成列?
答案 0 :(得分:1)
字符类\s
和\h
分别匹配所有空格和水平空间。您可以使用否定字符类来排除某些字符,例如[^\S\t]
或[^\H\t]
- 除制表符之外的所有(水平)空格字符。
这可能是最简单的解决方案,但您也可以使用各种Unicode属性。例如,[^\H\p{POSIX_Cntrl}]
将是不是控制字符的所有水平空格字符(选项卡是控制字符),等效\p{Zs}
包含所有Unicode空格分隔符(也不包括选项卡)。但是,这些Unicode属性都没有明确表示您只想排除制表符。
答案 1 :(得分:-1)
routerLink = "cart-items/{{card.id}}"
匹配任何空白字符,包括标签(\s
) - > (等于\t
)
使用[\r\n\t\f\v ]
,它将匹配除标签([\r\n\f\v ]
)以外的所有空白字符。
或者使用\t
除了标签([\r\f\v ]
)和换行符(\t
)之外的所有空格。