今天遇到一个小问题,要对文本数据中的全角空格进行匹配。
首先考虑到了 \s ,\s匹配的是 制表符 \t ('\u0009'),换行符 \n ('\u000A'),回车符 \r ('\u000D'),换页符 \f ('\u000C')以及半角空格,
并不包含全角空格。
我是使用perl对utf-8编码的文本中的全角空格进行处理,发现对于网上的方法:
(1) 使用:[\s\p{Zs}]
(2) 使用 \u3000
在我这里均没成功,猜测与我的待处理文本为 utf-8 编码格式有关系。
无奈使用了一个取巧的办法,将全角空格替换为半角空格,然后对半角空格进行处理,可以成功进行处理了。
$line =~s/ / /g;