相关疑难解决方法(0)

用坏字符替换String的错误字符

我只是想知道什么是替换必须随后替换的字符串字符的最简单方法.

例如:

var str = "[Hello World]";
//enclose all occurences of [ and ] with brackets[] 
str = str.Replace("[","[[]").Replace("]","[]]");
Run Code Online (Sandbox Code Playgroud)
  • 期望的结果: [[]Hello World[]]
  • 实际结果: [[[]]Hello World[]]

原因显然是已经修改过的字符串的第二个替换.

那么如何用包含"坏"字符的字符替换所有"坏"字符的出现?


快速测量所有方法表明StringBuilder是最有效的方法.

190kb文件(全部以毫秒为单位)

  regexTime           40.5065  
  replaceTime         20.8891  
  stringBuilderTime    6.9776
Run Code Online (Sandbox Code Playgroud)

7MB文件

  regexTime           1209.3529           
  replaceTime          403.3985   
  stringBuilderTime    175.2583
Run Code Online (Sandbox Code Playgroud)

顺便说一句,John的直接StringBuilder方法 是SeheAggregate方法的两倍.

我做了一个扩展:

public static String EncloseChars(this string input, char[] charsToEnclose, String leftSide, String rightSide) {
    if (charsToEnclose == null || leftSide == null || rightSide …
Run Code Online (Sandbox Code Playgroud)

.net c# string replace

8
推荐指数
1
解决办法
729
查看次数

标签 统计

.net ×1

c# ×1

replace ×1

string ×1