我正在尝试转换一些法语加拿大语的字符串,基本上,我希望能够在保留字母的同时取出字母中的法语重音符号.(例如转换é为e,所以crème brûlée会变成creme brulee)
实现这一目标的最佳方法是什么?
我们的一些用户使用无法处理Unicode的电子邮件客户端,即使在邮件头中正确设置了编码等.
我想"规范化"他们收到的内容.我们遇到的最大问题是用户将来自Microsoft Word的内容复制到我们的Web应用程序中,然后通过电子邮件转发该内容 - 包括分数,智能引号以及Word为您帮助插入的所有其他扩展Unicode字符.
我猜这里没有明确的解决方案,但在我坐下来开始编写伟大的查找表之前,是否有一些内置的方法可以让我开始?
基本上涉及三个阶段.
首先,从其他正常字母中删除重音 - 解决方案就在这里
This paragraph contains “smart quotes” and áccénts and ½ of the problem is fractions
Run Code Online (Sandbox Code Playgroud)
去
This paragraph contains “smart quotes” and accents and ½ of the problem is fractions
Run Code Online (Sandbox Code Playgroud)
其次,用它们的ASCII等效替换单个Unicode字符,给出:
This paragraph contains "smart quotes" and accents and ½ of the problem is fractions
Run Code Online (Sandbox Code Playgroud)
在我实现自己的解决方案之前,这是我希望有解决方案的部分.最后,使用合适的ASCII序列替换特定字符 - ½到1/2,依此类推 - 我很确定任何类型的Unicode魔法本身都不支持,但是有人可能已经写了一个合适的查找表我可以再利用.
有任何想法吗?
我看到了很多问题,你有一些模糊的unicode字符,有点像某个ascii字符,需要在运行时因任何原因进行转换.
在这种情况下,我试图导出到csv.已经对dash,emdash,endash和hbar使用了一个讨厌的修复程序,我刚收到了一个新的'''请求.除了另一个讨厌的解决方案还有另一种更好的方法吗?
这是我现在所拥有的......
formattedString = formattedString.Replace(char.ConvertFromUtf32(8211), "-");
formattedString = formattedString.Replace(char.ConvertFromUtf32(8212), "-");
formattedString = formattedString.Replace(char.ConvertFromUtf32(8213), "-");
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?