有没有像正则表达式这样的东西来用多字节字符本身替换它们?
例如,我有一个很大的文本文件,其中的字符如下:
漁魚京供侠競共并希望替换它们,如下所示:
漁;
魚;
京;
供;
...如何使用正则表达式执行此操作?我已经试过了:
(.)替换为
\1;\n但这会将多字节字符(即utf8)“拆分”为每行一个字节(因此,一个字符超过被拆分的两行)。对于单字节字符,它工作得很好...任何帮助都将不胜感激。
发布于 2010-12-28 10:52:27
使用\P{M}\p{M}*作为替代。要匹配任意数量的字素,请使用(?:\P{M}\p{M}*)+而不是\X+
您可以使用
(?:\P{M}\p{M}*)
而不是
(.)
在.NET中。
参考Regex - Unicode Characters and properties
https://stackoverflow.com/questions/4543224
复制相似问题