比方说,我有一个文本:如何在文本行中逐一编辑特定的单词?
“他的名字是杰克·杰克很喜欢骑自行车。”
什么方法,你会建议使用编辑字“杰克”一个接一个,比如我希望对每个“杰克”进行特定的更改。我试过使用Remove()和Replace(),但是这些方法在文本中编辑所有“Jack”。
比方说,我有一个文本:如何在文本行中逐一编辑特定的单词?
“他的名字是杰克·杰克很喜欢骑自行车。”
什么方法,你会建议使用编辑字“杰克”一个接一个,比如我希望对每个“杰克”进行特定的更改。我试过使用Remove()和Replace(),但是这些方法在文本中编辑所有“Jack”。
Regex.Replace(String, MatchEvaluator)可能是你需要的。在指定的输入字符串中,它将使用由MatchEvaluator委托人返回的字符串替换与指定正则表达式匹配的所有字符串。
因此,您的MatchEvaluator代表可以决定用什么来替换每一个“杰克”。
例如:
string s = "His name is Jack. Jack likes to ride a bike";
int count = 0;
string s2 = Regex.Replace(s, "Jack", match => {
count++;
return count > 1 ? "Jack2" : "Jack1";
});
s2为:
他的名字是Jack1。 Jack2喜欢骑自行车
感谢,这正是我需要的 – Redas
可能重复http://stackoverflow.com/questions/8809354/replace-first-occurrence-of-pattern-in-a-string –