当前位置:  开发笔记 > 编程语言 > 正文

使用unicode从字符串中删除特殊字符

如何解决《使用unicode从字符串中删除特殊字符》经验,为你挑选了1个好方法。

我发现这个问题最受欢迎的答案是:

Regex.Replace(value, "[^a-zA-Z0-9]+", " ", RegexOptions.Compiled);

但是,如果用户在结算时键入非英语名称,此方法将考虑这些非特殊字符并将其删除.

因为我的网站是多语言的,所以我们可以为大多数用户构建.



1> Wiktor Strib..:

使其识别Unicode:

var res = Regex.Replace(value, @"[^\p{L}\p{M}p{N}]+", " ");

如果您打算只保留常规数字,请保留[0-9].

正则表达式匹配除Unicode字母(\p{L}),变音符号(\p{M})和数字(\p{N})之外的一个或多个符号.

你可能会考虑var res = Regex.Replace(value, @"\W+", " "),但它会保留,_因为下划线是一个"单词"字符.

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有