当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《C#/.NET中的可变字符串编辑》经验,为你挑选了1个好方法。

我想在.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());
}

由于没有IndexOfStringBuilder.有没有人有一个有效的方法来进行文本信息的就地编辑?

编辑#1:更改样本以使每个'替换'需要具有不同的结果.



1> LukeH..:

如果您的代码确实如此简单,那么为什么不使用其中一种内置Replace方法string,StringBuilder或者Regex?或者?

编辑后评论......

您可以使用带参数的重载之一Regex.ReplaceMatchEvaluator替换每个出现的单独值:

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));

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有