我已經看到了一些有趣的方法來處理字符串使用LINQ:用X的替換它們LINQ字符串處理在1個拉姆達2個字符表達
舉例來說,隱藏在一個字符串的數字我可以這樣做:
string strNum = "Hello, my number is ... 3456c456";
string strHidden = new String(strNum.ToCharArray()
.Select(c => (!char.IsNumber(c)) ? c : 'X').ToArray());
Console.WriteLine(strHidden);
有沒有一種Linq方式來做到這一點,只有當前字符是數字時,數字纔會被替換,而下面兩個字符是數字?
有很多方法可以定製上述方法,但我想知道是否有一種易於使用的linq方式來同時處理多個字符。
編輯:增加了對當前字符的要求,也是一個數字。
這聽起來像是一個正則表達式的工作,而不是LINQ –
只有在下面兩個字符都是數字時才被替換,你會希望在你的例子中替換'34'和'4',而不是'56'兩個時間? – Rawling
您不需要在您的示例中調用'ToCharArray',因爲字符串實現了'IEnumerable'。 –
Lee