2015-11-18 45 views
0

比方说,我有一个文本:如何在文本行中逐一编辑特定的单词?

“他的名字是杰克·杰克很喜欢骑自行车。”

什么方法,你会建议使用编辑字“杰克”一个接一个,比如我希望对每个“杰克”进行特定的更改。我试过使用Remove()和Replace(),但是这些方法在文本中编辑所有“Jack”。

+0

可能重复http://stackoverflow.com/questions/8809354/replace-first-occurrence-of-pattern-in-a-string –

回答

2

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喜欢骑自行车

+0

感谢,这正是我需要的 – Redas

相关问题