如何在c#中删除空格,逗号或类似的非ascii字符
本文关键字:字符 ascii 删除 空格 | 更新日期: 2023-09-27 18:15:01
我想从字符串中删除空格,逗号或类似的非ascii字符,但我没有。
我试了这些,但不工作。
// my string value = request.ReportName
Regex.Replace(request.ReportName, @"[^'u0000-'u007F]+", string.Empty);
Regex.Replace(request.ReportName, @"[^'uxxxx'u0000-'u007F]", string.Empty),
顺便说一下,我也试过这个,但效果不太好。
System.Text.Encoding.ASCII.GetString(System.Text.Encoding.ASCII.GetBytes(request.ReportName));
例如:request.ReportName = "CAption
, For long Text双长度的long to keep"
我想这样做:CAptionForlongTextdoublelengthlongtokeep。我能做什么?有什么想法吗?
您可以使用正则表达式替换所有非字母:
Regex.Replace(request.ReportName, @"[^A-Za-z]+", String.Empty);
另一种方法是
Regex MyRegex = new Regex("[^A-Za-z]", RegexOptions.IgnoreCase);
string s = MyRegex.Replace(request.ReportName, @"");
这也可能对你有帮助
new String(request.ReportName.Where(c => Char.IsLetter(c) && Char.IsUpper(c)).ToArray());
如果你想只允许字母数字字符,下面的Regex将工作。
string str = "sffd%^#$%#(*(&$HHFFGF14388>?><>< sfsdf,dsfsdf, fsasdfs,sdff ,sdfsf-";
Regex rgx = new Regex("[^a-zA-Z0-9]");
str = rgx.Replace(str, "");
如果只允许字母,那么你可以使用下面的正则表达式。
Regex rgx = new Regex("[^a-zA-Z]");