删除口音
问题描述:
我有下面的代码示例:删除口音
var inputString = "ñaáme";
inputString = inputString.Replace('ñ', '\u00F1');
var normalizedString = inputString.Normalize(NormalizationForm.FormD);
var result = Regex.Replace(normalizedString, @"[^ñÑa-zA-Z0-9\s]*", string.Empty);
return result.Replace('\u00F1', 'ñ'); // naame :(
我需要正常化文本而不删除“ñ” S
I followed this example 但它是针对Java和它有没有为我工作
我希望你的结果是:“ñaame”。
答
您可以将以及ASCII码字母(不需要标准化)的任何Unicode字母与(?i)[\p{L}-[ña-z]]+
正则表达式匹配并对其进行规格化。然后,也从字符串中删除任何组合标记。
使用
模式描述
-
(?i)
- 忽略大小写修改 -
[
- 开始一个字符类的-
\p{L}
- 任何Unicode信 -
-[
- 比-
ña-z
其他 -ñ
和ASCII字母
-
-
]
- 减法类的端
-
-
]+
- 1或出现次数更多。
您的回答非常好。我工作他的代码。 非常感谢。 – HenryGuillen17
当然,我从来不会以这种方式来解决问题,而且我看到了一些正则表达式。 再一次,非常感谢。 – HenryGuillen17