从 StringBuilder 中删除匹配的字符串

Remove matching string from StringBuilder

如何删除 StringBuilder 上的某个 string?前任。 .append("Stack over flow dot com") 删除 flow.toString() 现在等于 Stack over dot com。我想尝试 .remove(),但它只接受 (startIndex, length)。我是否必须首先在 StringBuilder 中搜索字符串并存储要用于 .remove(i,x) 的索引和长度?如果可以的话,有没有更好的方法呢?

Dim someStrBlr As New StringBuilder 
Dim someStrRmv = "flow"
Dim someString = "Stack over flow dot com"
someStrBlr.append(someString)
someStrBlr.remove(?) 'remove? "flow"
someStrBlr.remove(?) 'replace? "flow" with ""
Console.WriteLine(someStrBlr.toString()) "Stack over dot com"

试试下面

Dim someStrBlr As New StringBuilder
Dim someStrRmv = "flow"
Dim someString = "Stack over flow dot com"
someStrBlr.Append(someString)
someStrBlr.Replace(someStrRmv, "") 'removes the flow from string
Console.WriteLine(someStrBlr.ToString()) '"Stack over dot com"

顺便说一句,如果你真的想找到然后删除,参考link

 Dim someStrBlr As New StringBuilder  
 Dim someStrRmv = "flow" 
 Dim someString = "Stack over flow dot com" 
 someStrBlr.append(someString)
 someStrBlr.replace(someStrRmv,"") ' Replace with empty string
 Console.WriteLine(someStrBlr.toString()) 

参考:https://msdn.microsoft.com/en-us/library/3h5afh4w(v=vs.110).aspx