正则表达式删除所有数字和所有点

问题描述 投票:0回答:2

我在 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
2个回答
5
投票

尝试使用字符组:

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

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

鉴于输入

"Example 4.12.0.12"

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

1
投票

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

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

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

.
字符。

© www.soinside.com 2019 - 2024. All rights reserved.