【问题标题】:Fastest way to find/replace in a large string在大字符串中查找/替换的最快方法
【发布时间】:2012-09-09 02:54:05
【问题描述】:

我有一个函数,它使用正则表达式和其他字符串处理函数对字符串进行大量查找和替换。本质上,我正在遍历一个字符串,并将结果数据添加到 StringBuilder 中,因此它比修改字符串本身更快。有更快的方法吗?

【问题讨论】:

  • 如果没有您当前方法的任何代码,我们无法推荐更好的方法。但即便如此,听起来你好像想在codereview.stackexchange.com 上更好地发布它。
  • 如果你能向我们展示你到目前为止所拥有的东西会有所帮助!
  • 如果您在一个字符串中进行多次替换,也许这会很有用:stackoverflow.com/questions/711753/…
  • 你不能在 C# 中修改字符串,因为字符串是不可变的。

标签: c# string performance replace stringbuilder


【解决方案1】:

基本上我是在循环一个字符串,然后添加结果 数据到 StringBuilder 所以它比修改字符串更快 本身。有更快的方法吗?

  • StringBuilder 类在您想将一些字符串连接成一个循环时更快。

  • 如果您要连接数组 String.Concat() 更快,因为它有一些接受数组的重载。

  • 如果您必须执行以下操作,请仅使用 + 运算符:string s = "text1" + "text2" + "text3"; 或使用 String.Concat("text1", "text2", "text3");

更多信息请看这里:Concatenate String Efficiently

编辑:

+ 运算符编译为对String.Concat() 的调用,正如他的评论中所说的 usr

【讨论】:

  • + 运算符编译为对String.Concat 的调用。
猜你喜欢
  • 2011-05-16
  • 1970-01-01
  • 1970-01-01
  • 2013-09-21
  • 1970-01-01
  • 2012-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多