gpt4 book ai didi

.net - StringBuilder 可以替换一个实例吗?

转载 作者:行者123 更新时间:2023-12-01 13:07:03 26 4
gpt4 key购买 nike

我在 StringBuilder 对象中有一段文本。我需要用另一个替换一个子串。 StringBuilder Replace 方法可以做到这一点,但它会替换子字符串的每个实例,而我只想替换第一个找到的实例。有没有办法告诉 StringBuilder 只做一个替换?

我确信我可以自己编写代码,我只是想知道是否有一种内置的方法可以实现我目前所缺少的。

最佳答案

是的,但不是直接的。 Replace 的四个重载中的两个对 StringBuilder 内容的子字符串起作用,但您需要找到第一次出现的位置才能起作用。

这是你想要的:
http://msdn.microsoft.com/en-us/library/y1bxd041.aspx

编辑:不幸的是,如果不在 StringBuilder 上调用 ToString,我看不到找到第一次出现的方法。

(对 VB 感到抱歉,我打开了一个 VB 项目。)

Dim orig As String = "abcdefgabcdefg"
Dim search As String = "d"
Dim replace As String = "ZZZ"
Dim sb As New StringBuilder(orig)

Dim firstOccurrence = sb.ToString().IndexOf(search)

If firstOccurrence > -1 Then
sb.Replace(search, replace, firstOccurrence, search.Length)
End If

关于.net - StringBuilder 可以替换一个实例吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2364205/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com