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

eaw*_*dat 2 regex vb.net numbers extract

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

MessageBox.Show(Regex.Replace("Example 4.12.0.12", "\d", ""))
Run Code Online (Sandbox Code Playgroud)

它删除/提取数字

我也想删除点

所以我尝试了

MessageBox.Show(Regex.Replace("Example 4.12.0.12", "\d\.", ""))
Run Code Online (Sandbox Code Playgroud)

但它保留了数字。

如何从字符串中删除两者(数字和点)?

谢谢。

pmc*_*ane 6

尝试使用字符组:

MessageBox.Show(Regex.Replace("Example 4.12.0.12", "[\d.]", ""))
Run Code Online (Sandbox Code Playgroud)

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

给定输入"Example 4.12.0.12"

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