从VB.NET中的文本中的数字中删除空格

时间:2009-04-29 02:50:49

标签: .net vb.net

我有像这种格式的文字

  

“术语:156 ^^^:^^ 59 datainput”或“术语:156 ^^^:59 datainput”或“术语:156:^^^ 59”

“^”表示空白区域。 注意两个数字和冒号之间的空格。两个数字之间有2,3,4或甚至7个空格。我想删除这些空格,以便文本可以采用以下格式:

  
    

“术语:156:59 datainput”

  

两个号码之间没有更多空格 - > 156:56。我想只删除数字和冒号之间的空格。

感谢您的任何意见。

2 个答案:

答案 0 :(得分:5)

尝试以下

Dim result = Regex.Replace(input, "(\d)\s*:\s*(\d)", "$1:$2")

这使用正则表达式来匹配数字和冒号之间的空格。任何这样的模式都将被最后一个参数替换。 $ 1和$ 2是转义序列,表示“替换为与第一个和第二个括号匹配的文本”。在这种情况下,它将是一个数字。

答案 1 :(得分:1)

我认为正则表达式将有助于处理不同数量的空白字符。

    Dim text As String = "term: 156      :     59 datainput "
    text = Regex.Replace(text, "([0-9])\s*:\s*([0-9])", "$1:$2", RegexOptions.Singleline)