我需要一些能夠找到用兩個「%」符號括起來的單詞,並將第一個%
替換爲[
,將第二個%
替換爲]
。C#,使用正則表達式來查找和替換單詞中的某些字符?
因此字符串「這是虛擬文本%和%百分號」 然後它會使其「這是虛擬文本[有]百分號」
編輯:會不會有搜索的方式和在同一個正則表達式中替換兩個不同的東西?就像我需要用[blah]替換%blah%,而用[〜dp1]替換%〜dp1,%〜dp1調用格式爲%〜(這裏可能是一些字母)(總是以單個數字結尾,知道通話結束)對不起,這是最後一件事:)
我需要一些能夠找到用兩個「%」符號括起來的單詞,並將第一個%
替換爲[
,將第二個%
替換爲]
。C#,使用正則表達式來查找和替換單詞中的某些字符?
因此字符串「這是虛擬文本%和%百分號」 然後它會使其「這是虛擬文本[有]百分號」
編輯:會不會有搜索的方式和在同一個正則表達式中替換兩個不同的東西?就像我需要用[blah]替換%blah%,而用[〜dp1]替換%〜dp1,%〜dp1調用格式爲%〜(這裏可能是一些字母)(總是以單個數字結尾,知道通話結束)對不起,這是最後一件事:)
我會匹配由特殊字符包圍的整個子字符串,並用包含相同的內部字符但括號而不是百分號的字符串替換它。請確保您使用nongreedy匹配,如果輸入可以有很多這樣子的:
Regex.Replace("This is dummy text %with% percent signs", "%(.*?)%", @"[$1]");
試試這個:
Regex.Replace(s, "%([^%]+)%", "[$1]")
使用MatchEvaluator提供替換值。替代(i++ % 2)
int i = 0;
Regex.Replace(s, "%", m => (i++ % 2) == 0 ? "[" : "]");
該字符串'%%%'的輸出應該是什麼? – mcabral