我查看过其他帖子,所有帖子都知道不需要的字符.在我的情况下,我有一堆我想要的角色,我只想保留那些.
我的代码太乱了:
private string RemoveUnwantedChar(string input)
{
string correctString = "";
for (int i = 0; i < input.Length; i++)
{
if (char.IsDigit(input[i]) || input[i] == '.' || input[i] == '-' || input[i] == 'n'
|| input[i] == 'u' || input[i] == 'm' || input[i] == 'k' || input[i] == 'M'
|| input[i] == 'G' || input[i] == 'H' || input[i] == 'z' || input[i] == 'V'
|| input[i] == 's' || input[i] == '%')
correctString += input[i];
}
return correctString;
}
Run Code Online (Sandbox Code Playgroud)
我想要的角色:0123456789和numkMGHzVs%-.
您可以使用LINQ:
var allowedChars = "0123456789numkMGHzVs";
var result = String.Join("", input.Where(c => allowedChars.Any(x => x == c)));
Run Code Online (Sandbox Code Playgroud)
另外一个选项:
var result = String.Join("", str.Where(c => allowedChars.Contains(c)));
Run Code Online (Sandbox Code Playgroud)