c# - 如何在 C# 中搜索字符串并替换由模式界定的区域?

标签 c#

我们现在尝试了一些尝试使用 XML 解析器的解决方案。全部失败,因为字符串并不总是 100% 有效的 XML。这是我们的问题。

我们有这样的字符串:

var a = "this is a testxxx of my data yxxx and of these xxx parts yxxx";
var b = "hello testxxx world yxxx ";

"this is a testxxx3yxxx and of these xxx1yxxx";
"hello testxxx1yxxx ";

这里的关键是我们要对xxx和yxxx之间的数据做点什么。在上面的示例中,我需要一个函数来计算字数并将字符串替换为字数。

有没有一种方法可以处理字符串 a 并应用一个函数来更改 xxx 和 yxxx 之间的数据?现在的任何功能,因为我们只是想了解如何对此进行编码。

最佳答案

你可以使用Split方法:

 var parts = a.Split(new[] {"xxx", "yxxx"}, StringSplitOptions.None)
            .Select((s, index) =>
                {
                    string s1 = index%2 == 1 ? string.Format("{0}{2}{1}", "xxx", "yxxx", s + "1") : s;
                    return s1;
                });

  var result = string.Join("", parts);

关于c# - 如何在 C# 中搜索字符串并替换由模式界定的区域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12741975/

相关文章:

c# - 回调时未修改 ASP.NET 隐藏字段值

c# - 在另一个等待中使用等待

c# - 在 Unity 中重命名序列化自动属性

c# - `IEnumerable<T>` 文件的内容的 `.csv` 类型应该是什么?

c# - ASP.Net C# 路由; HTTP处理器;和 HttpModule 不工作

C# WPF - 如何组合数据触发器和触发器?

c# - 使用Silverlight 4从实时音频流中读取歌曲标题/歌手吗?

c# - 如何将对象传递给属性构造函数

c# - 从 ARM 模板部署新的 Azure VM 时,无法格式化 .WithParameters() 的有效 JObject

c# - 在 .NET 4.0 中创建可与 .NET 4.5 中的 "await"一起使用的异步方法