__.NET字符串中的 所有 字符均为“ unipre字符”。您是不是说他们不是ascii?这应该不成问题-除非您遇到构图问题,例如在尝试替换“
e急性”时未替换“ e +急性重音”。
您可以尝试使用带有
Regex.Replace或的正则表达式
StringBuilder.Replace。下面的示例代码对两者都做同样的事情:
using System;using System.Text;using System.Text.Regularexpressions;class Test{ static void Main(string[] args) { string original = "abcdefghijkl"; Regex regex = new Regex("a|c|e|g|i|k", RegexOptions.Compiled); string removedByRegex = regex.Replace(original, ""); string removedByStringBuilder = new StringBuilder(original) .Replace("a", "") .Replace("c", "") .Replace("e", "") .Replace("g", "") .Replace("i", "") .Replace("k", "") .ToString(); Console.WriteLine(removedByRegex); Console.WriteLine(removedByStringBuilder); }}我不想猜测哪种效率更高-
您必须使用特定的应用程序进行基准测试。regex方法可能一次就能完成所有操作,但是与StringBuilder中的许多替换操作相比,该过程将占用大量CPU。



