C#删除部分字符串,只知道部件的开始和结束

时间:2014-06-08 13:30:56

标签: c# string

这是我想要完成的实际例子:

我有这个字符串:

  

文件名=" Unstuck20140608124131432.txt"   路径=" Unstuck20140608124131432.txt"状态="传递"持续时间=" 0.44"

我想切断" Path"来自它的属性,所以看起来像这样:

  

文件名=" Unstuck20140608124131432.txt"状态="传递"   持续时间=" 0.44"

我对路径的长度或"中的字符一无所知。 "路径。

我怎样才能完成它?

2 个答案:

答案 0 :(得分:2)

您可以使用Regex.Replace

string input = @"File Name=""Unstuck20140608124131432.txt"" Path=""Unstuck20140608124131432.txt"" Status=""Passed"" Duration=""0.44""";
var output = Regex.Replace(input, @"Path=\"".+?\""", "");

答案 1 :(得分:0)

对于那些非正则表达式的粉丝,您可以使用split命令。 (没有任何反对正则表达式。它是平衡的程序员饮食的重要组成部分。)

var input = "File Name=\"Unstuck20140608124131432.txt\" Path=\"Unstuck20140608124131432.txt\" Status=\"Passed\" Duration=\"0.44\"";

var tmp = input.Split(new[] { "Path=\"" }, 2, StringSplitOptions.None);

var result = tmp[0] + tmp[1].Split(new[] { '"' }, 2)[1];

根据模式的开头(Path =“)将字符串拆分为2个部分。 拿第一部分。 根据模式的结尾将第二部分分成两部分(“)。取第二部分。