gpt4 book ai didi

c# - C#/.NET 中的可变字符串编辑

转载 作者:行者123 更新时间:2023-11-30 20:13:27 25 4
gpt4 key购买 nike

我想在 .NET 应用程序中就地获取和编辑字符串。我知道 StringBuilder 允许我进行就地追加、插入和替换,但它不允许使用一种简单的方法来执行如下操作:

while (script.IndexOf("@Unique", StringComparison.InvariantCultureIgnoreCase) != -1)
{
int Location = script.IndexOf("@Unique", StringComparison.InvariantCultureIgnoreCase);
script = script.Remove(Location, 7);
script = script.Insert(Location, Guid.NewGuid().ToString());
}

因为 StringBuilder 中没有 IndexOf。有没有人有一种有效的方法来就地编辑文本信息?

编辑 #1:更改示例以更明显地表明每个“替换”都需要有不同的结果。

最佳答案

如果您的代码真的这么简单,那么为什么不直接使用内置的 Replace 方法之一,在 string 上, StringBuilderRegex

编辑以下评论...

您可以使用 one of the overloads of Regex.Replace that takes a MatchEvaluator 将每个匹配项替换为单独的值参数:

string foo = "blah blah @Unique blah @Unique blah blah @Unique blah";

// replace each occurrence of "@Unique" with a separate guid
string bar = Regex.Replace(foo, "@Unique",
new MatchEvaluator(m => Guid.NewGuid().ToString()),
RegexOptions.IgnoreCase));

关于c# - C#/.NET 中的可变字符串编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1573394/

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