不能删除保留字符
本文关键字:字符 保留字 保留 删除 不能 | 更新日期: 2023-09-27 18:01:23
我试图删除保留字符,但在调用我的函数后,它返回相同的输入..
public static void Main(string[] args)
{
string text = "erhan?test*.pdf";
remove(text);
Console.WriteLine("This is your result : {0}", text);
Console.ReadLine();
}
private static string remove(string str){
StringBuilder sb = new StringBuilder();
foreach (char c in str)
{
if (Char.IsLetterOrDigit(c) || c == '.' || c == '_' || c == ' ' || c == '%')
{ sb.Append(c); }
}
return sb.ToString();
}
在你的代码中,你没有更新变量text
(老实说,你不能这样做,因为字符串是不可变的),但你从函数remove
返回一个新的字符串。目前,您没有在任何地方使用返回值,因此该值实际上已经丢失。
为了使你的代码工作,你需要将变量text赋值给函数的结果:
text = remove(text);
修改这一行
remove(text);
text = remove(text);
因为你的函数返回一个新的string
(从StringBuilder
构建),你只是调用它而没有获得结果。