删除字符串中的重音符号(“ñ”除外)

亨利·吉伦17

我有以下示例代码:

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 :(

我需要规范化文本而不删除“ñ”

我遵循了这个示例,但这是针对Java的,对我而言没有用

我希望您的结果是:“ñaame”。

维克多·史翠比维

您可以将除您的特定字母ñ和ASCII字母(不需要标准化)以外的任何Unicode字母(?i)[\p{L}-[ña-z]]+regex匹配并将其标准化。然后,还要从字符串中删除所有组合标记。

使用

var inputString = "ñaáme";
var result = string.Concat(Regex.Replace(inputString, @"(?i)[\p{L}-[ña-z]]+", m => 
        m.Value.Normalize(NormalizationForm.FormD)
    )
    .Where(c => CharUnicodeInfo.GetUnicodeCategory(c) != UnicodeCategory.NonSpacingMark));
Console.Write(result);

参见C#演示

模式说明

  • (?i) -忽略大小写修饰符
  • [ -角色课程开始
    • \p{L} -任何Unicode字母
    • -[ - 以外
      • ña-z-ñ和ASCII字母
    • ] -减法课程结束
  • ]+ -1次以上。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

删除字符串数组中的重音符号

在JavaScript中删除字符串中的重音符号/变音符号

如何从.NET中的字符串中删除变音符号(重音符号)?

如何使用哈希图从Java中的Unicode字符串中删除重音符号?

如何在Haskell中从字符串中删除重音符号?

在Oracle中从字符串中删除重音符号

如何在Python的字符串中仅删除重音符号,而不删除变音符号

从Unicode字符串中删除重音符号的简单方法?

在插入SQL数据库之前删除字符串中的重音符号

删除tf.dataset管道中输入字符串的重音符号

python中字符串的变音符号/重音符号的替换

从Java中的字符串中删除所有非单词字符,留下带重音符号的字符?

C ++字符串/字符和重音符号

Java字符串搜索忽略重音符号

替换字符串中的单词,但忽略带重音符号的字符

Java如何在字符串中添加带重音符号的“ e”?

重音符号的字符串无法在Excel中的csv文件中正确显示

如何从ios中的字符串中找到重音符号?

从拉丁字符中删除重音符号(变音符号)以进行比较

如何在Python 3.5中删除重音符号并使用unicodedata或其他解决方案获取字符串?

移除Python unicode字符串中的重音符号(规范化)的最佳方法是什么?

ASP.NET MVC3-在TextBoxFor中显示带重音符号的字符串

Python:带重音符号的字节为字符串

不输出带有重音符号的宽字符串

Firestore:如何正确地按带重音符号的字符串排序?

包含重音符号的字符串不会出现

如何修复带重音符号的字符串[python]

排序字符串数组时先将大写字母包括重音符号

如何在ruby中使用带重音符号的字符串