【问题标题】:Regular Expression to remove all numbers and all dots正则表达式删除所有数字和所有点
【发布时间】:2014-04-21 17:26:26
【问题描述】:

我在 VB.NET 中有这段代码:

MessageBox.Show(Regex.Replace("Example 4.12.0.12", "\d", ""))

它删除/提取数字

我也想去掉点

所以我尝试了

MessageBox.Show(Regex.Replace("Example 4.12.0.12", "\d\.", ""))

但它保留了数字。

如何从字符串中同时删除(数字和点)?

谢谢。

【问题讨论】:

    标签: regex vb.net numbers extract


    【解决方案1】:

    尝试使用字符组:

    MessageBox.Show(Regex.Replace("Example 4.12.0.12", "[\d\.]", ""))
    

    我会详细说明,因为我无意中发布了与史蒂文基本相同的答案。

    给定输入"Example 4.12.0.12"

    • "\d" 匹配数字,因此替换为 "Example ..."
    • "\d\." 匹配一个数字后跟一个点,因此替换为 "Example 112"
    • "[\d.]" 匹配任何数字或点。正如 Steven 所说,没有必要在字符组内转义点。

    【讨论】:

      【解决方案2】:

      您需要使用方括号创建一个字符组,如下所示:

      MessageBox.Show(Regex.Replace("Example 4.12.0.12", "[\d.]", ""))
      

      字符组意味着该组中列出的任何一个字符都被视为有效匹配。请注意,在字符组中,您不需要转义 . 字符。

      【讨论】:

        猜你喜欢
        • 2011-03-04
        • 2021-10-11
        • 1970-01-01
        • 2019-01-09
        • 2010-09-26
        • 1970-01-01
        • 2013-05-01
        • 2011-09-08
        • 2016-04-30
        相关资源
        最近更新 更多