0
我想刪除多對括號中的每一對之間包含的文本。如何刪除多對括號之間的文本?
var text = "This (remove me) works fine!";
// Remove text between brackets.
text = Regex.Replace(text, @"\(.*\)", "");
// Remove extra spaces.
text = Regex.Replace(text, @"\s+", " ");
Console.WriteLine(text);
這工作得很好:如果只有一對字符串中括號下面的代碼工作正常!
但是,如果字符串中包含多個括號組,則會刪除太多的文本。正則表達式刪除了第一個左括號和最後一個右括號之間的所有文本。
var text = "This is (remove me) not (remove me) a problem!";
// Remove text between brackets.
text = Regex.Replace(text, @"\(.*\)", "");
// Remove extra spaces.
text = Regex.Replace(text, @"\s+", " ");
Console.WriteLine(text);
這是一個問題!
我很爲難 - 我敢肯定有一個簡單的解決方案,但我的想法......
幫助最歡迎!
嘗試'*'而不是'*' - 即macth儘可能少 –
另一種可能性是改變'*'到'[^)] *?。 ' - 除了右括號之外的任何符號。 –
天才 - 你的第一個解決方案完美的作品! –