我需要一种从字符串中删除字符列表的方法。我需要正确支持所有字符,但我不确定我是否正确管理代理字符。
有没有更好的办法?
public static string Remove(string source, char[] oldChar)
{
if (string.IsNullOrEmpty(source) || oldChar == null || oldChar.Length == 0)
return source;
for (int i = source.IndexOfAny(oldChar, 0); i != -1; i = source.IndexOfAny(oldChar, i))
source = source.Remove(i, char.IsSurrogatePair(source, i) ? 2 : 1);
return source;
}
谢谢
坦率