循环字符串并替换

时间:2015-03-23 10:09:02

标签: c# file replace

我有一个非常长的字符串,从XML文件中读取。 我需要循环遍历此字符串并找到以下参数:

CreatedBy="?"

然后我想要替换""使用整数,所以我们称之为myValue。如何搜索它找到的每个地方CreatedBy ="并取代它接下来发现的结果直到结束"用myValue?

int myValue = 7;
string myXml = File.ReadAllText(filePath);

1 个答案:

答案 0 :(得分:1)

你可以做这样的事情

 myXml = myXml.Replace("CreatedBy=\"?\"", "CreatedBy=\"7\"");

但正如一些评论所暗示的那样,如果您将XML读入XDocument并通过该对象操纵数据,那么您可能会更好。

修改 如果你不知道CreatedBy的价值(但如果你知道它是一个整数),你可以使用Regex来做这样的事情

int myVal = 7;
Regex regex = new Regex("CreatedBy=\"[0-9]*\"");
myXml = regex.Replace(myXml, String.Format("CreatedBy=\"{0}\"", myVal));

如果使用XDocument对象,它仍然会更易读,也更容易理解。