gpt4 book ai didi

c# - 删除不可打印的字符 C# 多语言

转载 作者:太空狗 更新时间:2023-10-29 17:40:32 25 4
gpt4 key购买 nike

我在 asp.net C# 中有一个多语言应用程序。在这里我必须创建一个 zip 文件并使用数据库中的一些项目来构造文件名。我从文件名中删除了特殊字符。但是,如果语言是德语,例如我的修剪算法将删除一些德语字符,如变音符号。

谁能给我提供一种语言适应性修剪算法。

这是我的代码:

private string RemoveSpecialCharacters(string str)
{
return str;
StringBuilder sb = new StringBuilder();
foreach (char c in str)
{
if ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') | c == '.' || c == '_' || c == ' ' || c == '+')
{
sb.Append(c);
}
}
return sb.ToString();
}

谢谢

最佳答案

假设您指的是 ZIP 文件的名称,而不是 ZIP 文件中的名称,您可能想检查该字符对于文件名是否有效,这将允许您使用的不仅仅是字母或数字:

char[] invalid = System.IO.Path.GetInvalidFileNameChars();

string s = "abcöü*/";
var newstr = new String(s.Where(c => !invalid.Contains(c)).ToArray());

关于c# - 删除不可打印的字符 C# 多语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11484329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com