首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用正则表达式替换多字节字符?

用正则表达式替换多字节字符?
EN

Stack Overflow用户
提问于 2010-12-28 10:13:38
回答 1查看 2.7K关注 0票数 2

有没有像正则表达式这样的东西来用多字节字符本身替换它们?

例如,我有一个很大的文本文件,其中的字符如下:

代码语言:javascript
复制
漁魚京供侠競共

并希望替换它们,如下所示:

代码语言:javascript
复制
漁;
魚;
京;
供;
...

如何使用正则表达式执行此操作?我已经试过了:

代码语言:javascript
复制
(.)

替换为

代码语言:javascript
复制
\1;\n

但这会将多字节字符(即utf8)“拆分”为每行一个字节(因此,一个字符超过被拆分的两行)。对于单字节字符,它工作得很好...任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4543224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档