如何删除vb.net中方括号之间的空格?

时间:2018-02-14 15:30:31

标签: regex vb.net

我使用VB.NET编写winforms应用程序,如何使用正则表达式删除" ["和"]"在一个字符串?

例如,对于字符串

"[Product Name] Like '%Dragon Ball%' AND [Product Type] Like '%Toy%'"

我希望结果是

"[ProductName] Like '%Dragon Ball%' AND [ProductType] Like '%Toy%'"

我尝试了这个,但它不起作用:

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

2 个答案:

答案 0 :(得分:6)

See regex in use here

public static void Register(HttpConfiguration config)
{
    config.EnableCors(new IkCorsPolicyProvider());
     .....
    // rest of the implementation (Routes, etc...)
 }
  • (?<=\[[^]]*)\s 确保以下匹配的正面观察
    • (?<=\[[^]]*)按字面意思匹配\[
    • [匹配除[^]]*以外的任何字符
  • ]匹配任何空格字符

如果您想在之后的某个时间确保\s,那么您可以附加(?=[^[]*]),但是,根据您的样本,我认为这不是必需的。< / p>

或者,您也可以将]\s(?=[^[]*])修饰符一起用作this link节目。

替换为空字符串。

结果:Right to Left

答案 1 :(得分:0)

非常感谢ctwheels!你的答案很完美!

Public Function RemoveSpaceInFieldNames(ByVal expression As String) As String
    Dim regex As RegularExpressions.Regex = New RegularExpressions.Regex("(?<=\[[^]]*)\s")
    Return regex.Replace(expression, String.Empty)
End Function