我使用VB.NET编写winforms应用程序,如何使用正则表达式删除字符串中"["和"]"之间的空格?
例如,对于一个字符串
"[Product Name] Like '%Dragon Ball%' AND [Product Type] Like '%Toy%'"
Run Code Online (Sandbox Code Playgroud)
我想要结果
"[ProductName] Like '%Dragon Ball%' AND [ProductType] Like '%Toy%'"
Run Code Online (Sandbox Code Playgroud)
我尝试过这个,但它不起作用:
Public Function RemoveSpaceInFieldNames(ByVal expression As String) As String
Dim regex As RegularExpressions.Regex = New
RegularExpressions.Regex(String.Format("\{0}\s*\{1}", "[", "]"))
Return regex.Replace(expression, String.Empty)
End Function
Run Code Online (Sandbox Code Playgroud)
(?<=\[[^]]*)\s
Run Code Online (Sandbox Code Playgroud)
(?<=\[[^]]*) 积极的外观确保以下匹配
\[[字面上匹配[^]]*匹配除]任意次数以外的任何字符\s 匹配任何空白字符(?=[^[]*])如果你想确保之后的某个]时间,你可以附加,但是,根据你的样本,我认为这不是必要的.
或者,您也可以使用此链接显示\s(?=[^[]*])的Right to Left修饰符.
替换为空字符串.
结果: [ProductName] Like '%Dragon Ball%' AND [ProductType] Like '%Toy%'