Filter a string’s contents to include only alphanumeric and allowed characters.
Use string.ToCharArray()
in combination with Array.FindAll()
to check if each character in the string is alphanumeric or contained in the filter
.
Omit the second argument, filter
, to only allow alphanumeric characters.
代码实现
using System.Collections.Generic;
public static partial class _30s
{
public static string FilterString(string s, string filter = "")
{
return new string(
Array.FindAll(s.ToCharArray(), c => char.IsLetterOrDigit(c) || filter.Contains(c))
);
}
}
使用样例
string s = "@30_seconds_of_code#-$";
_30s.FilterString(s); // "30secondsofcode"
_30s.FilterString(s,"_"); // "30_seconds_of_code"
_30s.FilterString(s,"_@"); // "@30_seconds_of_code"