Csharp/C#教程:如何在C#中将超级或下标转换为普通文本分享


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

我正在写一个slug生成器来制作漂亮的url。 我想将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); } 

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

如果您的字符串在URL中,那么我认为它是某种常见的非格式化文本,其forms为unicode字符(例如,与MS Word文档相对)。 在unicode中, 您只能将某些字符作为上标或下标 。 它们并不是那么多,并且一个简单的switch语句可以完成这项工作。

如果您尝试将包含所有类型字符的格式化文本转换为上标或下标,则意味着它们不会直接表示为unicode,并且它将在很大程度上取决于文本的格式。 如果是,请在问题中提供更多信息。

上述就是C#学习教程:如何在C#中将超级或下标转换为普通文本分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/952929.html

(0)
上一篇 2021年11月18日
下一篇 2021年11月18日

精彩推荐