我想僅在整個文本被它們包圍時才刪除括號。例如:只有當整個文本被它們包圍時,如何去掉括號?
(text (text) text)
需要對被轉換爲:
text (text) text
我有一個非常簡單的檢查:
value = (value [0] == '(' && value [value .Length - 1] == ')') ? value.Substring(1, value .Length - 2) : value;
但它失敗,錯誤地刪除這些類型的字符串的括號:
(text (text)) text (text)
任何人都可以說出處理所有情況的方法嗎?使用正則表達式也是OK
。
請注意,括號是平衡的。例如,這種情況是不可能的:
(text (text)
在你的失敗案例中,「整個文本」沒有被括號包圍,這顯然是你想要修復的,你能否重申你正試圖解決的問題? –
可以在你的例子中的'文本'包含空格嗎? –
正則表達式不適用於此。它缺乏解析和「記憶」上下文的能力。儘管如此,使用循環相當簡單。 – Amit