我想只測試/ ntest,然後輸出是測試測試,但所以只能將/ n替換爲一個空格,但某些情況/ r/n也會替換,但可以替換爲syatax只能在兩個單詞之間進行替換,所以我返回這個正則表達式但不起作用。在if-elsif-else條件下使用REGEX
string input = "/r/ntest/ntest/n/r"
input = Regex.Replace(input, ".\n.", " ");
我想只測試/ ntest,然後輸出是測試測試,但所以只能將/ n替換爲一個空格,但某些情況/ r/n也會替換,但可以替換爲syatax只能在兩個單詞之間進行替換,所以我返回這個正則表達式但不起作用。在if-elsif-else條件下使用REGEX
string input = "/r/ntest/ntest/n/r"
input = Regex.Replace(input, ".\n.", " ");
我認爲你必須提供的條件,您要非\ r字符到之前\ n存在,對正則表達式 - 但你必須發現添加非\ r字符進入替換字符串或者它會被切出:
Regex.Replace(input, @"(?<before>[^\r])\n", m => m.Groups["before"].Value + " ");
(?<前> ...)定義了一個名爲組可以訪問後
[^ \ R] d一個字符是不是用\ r這裏存在
M =>米efines ...是Lambda表達式其中m在這種情況下是比賽例如
或者你可以在特定的情況下,也用一個簡單的替換來搞亂:
input = input.Replace("\r\n", "\r").Replace('\n', ' ').Replace("\r", "\r\n");
你的正則表達式可以寫成'Regex.Replace(input,@「(?<!\ r)\ n」,「」)''。 –
非常感謝你的工作 –
string input =「\ r \ ntest \ ntest \ n \ r」; input = Regex.Replace(input,「。\ n。」,「」); –
1)你的代碼包含一個語法問題。 2)你的意思是什麼? –