2010-11-08 34 views
0

我想在C#中構建正則表達式,正則表達式maches char並將其交換到另一個克隆字符。 (例如swape 1到2,但是2到4等)創建正則表達式來替換字符

我該怎麼做?

謝謝

+0

請提供關於**的更多詳細信息**完全**您正在嘗試執行的操作,目前爲止您嘗試過的操作,該操作不起作用等。 – 2010-11-08 17:19:50

+0

我試圖構建正則表達式。例如在英語中,我嘗試將A替換爲A,將B替換爲B. – Rachel 2010-11-08 17:34:04

回答

2

使用MatchEvaluator。例如:

string s = "asdf12345"; 

s = Regex.Replace(s, "[123]", m => { 
    switch (m.Value) { 
    case "1": return "2"; 
    case "2": return "3"; 
    case "3": return "1"; 
    } 
    return m.Value; 
}); 

Console.WriteLine(s); 

輸出:

asdf23145 

你也可以做同樣通過獲取字符串的字符數組,更換你想要的字符,然後創建一個從數組的字符串:

char[] c = s.ToCharArray(); 
for (int i = 0; i < c.Length; i++) { 
    switch (c[i]) { 
    case '1': c[i] = '2'; break; 
    case '2': c[i] = '3'; break; 
    case '3': c[i] = '1'; break; 
    } 
} 
s = new String(c);