如何在C#中将超级或下标转换为普通文本

前端之家收集整理的这篇文章主要介绍了如何在C#中将超级或下标转换为普通文本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在写一个slug生成器来制作漂亮的网址.我想将m²转换为m2,但是以通用的方式将其转换为所有上标(或下标),而不仅仅是简单的替换语句.

有任何想法吗?

解决方法

谢谢约翰内斯,你让我走上正轨.我让它工作的代码如下:
public string ConvertSuperscript(string value)
{
    string stringFormKd = value.Normalize(NormalizationForm.FormKD);
    StringBuilder stringBuilder = new StringBuilder();

    foreach (char character in stringFormKd)
    {
        UnicodeCategory unicodeCategory = CharUnicodeInfo.GetUnicodeCategory(character);
        if (unicodeCategory != UnicodeCategory.NonSpacingMark)
        {
            stringBuilder.Append(character);
        }
    }

    return stringBuilder.ToString().Normalize(NormalizationForm.FormKC);
}

我之前尝试过规范分解,但它需要兼容性分解才能正常工作.

猜你在找的C#相关文章