|
1
459
我没有使用过这种方法,但是Michael Kaplan在他的博客文章(标题令人费解)中描述了一种去除发音符号的方法: Stripping is an interesting job (aka On the meaning of meaningless, aka All Mn characters are non-spacing, but some are more non-spacing than others)
请注意,这是他之前的帖子的后续内容: Stripping diacritics.... 该方法使用 String.Normalize 要将输入字符串拆分为组成glyph(基本上将“基础”字符与音调符号分离),然后扫描结果并仅保留基础字符。这只是有点复杂,但实际上你在看一个复杂的问题。 当然,如果您将自己限制在法语,那么您可能可以在 How to remove accents and tilde in a C++ std::string ,根据@david dibben的建议。 |
|
|
2
134
这对我有好处…
快&短! |
|
|
3
28
如果有人感兴趣,我会找类似的东西,然后写下以下内容:
|
|
|
4
15
如果有人感兴趣,这里是Java等价物:
|
|
|
5
15
我需要一些东西来转换所有主要的Unicode字符,投票的答案会留下一些,所以我创建了一个版本的codeigner's
用法
|
|
6
12
我经常使用基于我在这里找到的另一个版本的扩展方法 (见 Replacing characters in C# (ascii) ) 快速解释:
代码:
|
|
|
7
8
CodePage 希腊语(ISO) 能做到
有关此代码页的信息
希腊语(ISO)有代码页 二万八千五百九十七 和名字 ISO-855-7 . 转到代码…o/
所以,写下这个函数…
注意…
|
|
|
8
4
这在Java中很好用。 它基本上将所有重音字符转换为它们的不发音对应词,然后再组合音调符号。现在可以使用regex去掉音调符号。
|
|
|
9
3
这是vb版本(与希腊语一起使用): 导入System.Text 进口系统.全球化
|
|
|
10
3
有趣的是,这样一个问题能得到如此多的答案,但没有一个符合我的要求:)周围有如此多的语言,一个完整的语言不可知论解决方案是不可能的,因为其他人已经提到,formc或formd给出的问题。 由于最初的问题与法语有关,最简单的工作答案确实是
1251应该替换为输入语言的编码代码。 但是,这只能用一个字符替换一个字符。因为我也使用德语作为输入,所以我进行了手动转换
它可能无法提供最佳性能,但至少非常容易阅读和扩展。 regex是一个禁忌,比任何char/string东西都慢得多。 我还有一个非常简单的方法来删除空间:
最后,我将使用上述三种扩展的组合:
以及一个小的单元测试,成功通过。
|
|
|
11
2
这就是我如何在所有.NET程序中将音调符号替换为非音调符号的方法。 C:
VB.NET:
|
|
|
12
2
可以使用mmlib.extensions nuget包中的字符串扩展名:
NuGET页面: https://www.nuget.org/packages/MMLib.Extensions/ codeplex项目站点 https://mmlib.codeplex.com/ |
|
|
13
1
尝试 HelperSharp package . 有一个方法移除:
|
|
|
14
1
|
|
|
15
1
它实际上可以分割
|
|
|
16
0
我真的很喜欢由 azrafe7 . 因此,我对它做了一些修改,将其转换为扩展方法:
|
|
|
17
0
如果你还没有考虑过,就把这个图书馆放在这里。看起来有一个完整的单元测试。 |