簡體   English   中英

在C#中使用正則表達式刪除括號

[英]Remove brackets with regular expression in C#

我想從SQL字符串中刪除方括號,但僅限於其中沒有空格的位置。

例如“SELECT [intId],[Description]”應返回“SELECT intId,[Description]”。

我可以使用正則表達式獲取方括號內部沒有空格:

\[[^\s]*\]

如何從原始字符串中刪除這些匹配的方括號?

sql = Regex.Replace(sql, "\\[([^\\s]*)\\]", "$1");

正則表達式是不夠的,除了在上面的特定字符串上只有一次性。 如果您通過許多SQL行以自動方式執行此操作,則可能會在刪除所需的括號時遇到麻煩。

在這種情況下,您需要更多的SQL詞法分析器/解析器,它可以幫助您只關注列名稱,並排除表名,字符串,觸發器或函數中的參數等...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM