C#:从字符串中删除特定于语言的符号

Kir*_*oev 0 c#

为了示例,我们假设我正在解析一些用德语编写的文本.这意味着它包含ü或Ö等符号.问题是当所有德国特定符号都呈现为空方格时.请看一下这张图片:

图片http://img8.imageshack.us/img8/7502/93341046.png

因为我不知道这个符号是ü还是Ö我想用"."代替它.(点).所以上图中的字符串应该变成"Osnabr.ck".我怎么做?任何帮助将不胜感激!

最诚挚的问候,基里尔

Guf*_*ffa 6

您可以使用正则表达式替换任何不需要的字符.只需将您想要的字符放在负集中:

str = Regex.Replace(str, "[^0-9A-Za-z _]", ".");
Run Code Online (Sandbox Code Playgroud)

您应该查看用于解码文本的编码.看起来您没有使用与用于编码文本相同的编码,因为字符未正确显示.