[英]regex to replace a word if it doesn't have specific one before
在C#中使用正則表達式,如果之前沒有特定的單詞,我應該替換一個單詞。在我的示例中,它將用“ Steve Ballmer”替換“ Ballmer”
在:
...text...Ballmer...text
結果:
...text...Steve Ballmer...text
但是如果已經有“史蒂夫”了,我就不應該再添加史蒂夫了。
在:
...text...Steve Ballmer...text
結果:
...text...Steve Ballmer...text
謝謝。
使用負向后看(?<!...)
和正向前看(?=...)
string output = Regex.Replace(input, @"(?<!Steve )(?=Ballmer)", "Steve ");
匹配Ballmer
時,請使用負向后看 :
string result = Regex.Replace(input, @"(?<!Steve )Ballmer", "Steve Ballmer");
這將完全滿足您的要求。 匹配任何沒有緊跟Steve
(和空格)的Ballmer
。
正則表達式很有趣,但是在使用大手筆之前嘗試簡單的工具也是值得的。 這個特殊的問題可以通過基本的查找和替換來解決
另外
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.