我正在开发一个.Net应用程序,需要从字符串中去除任何非十进制字符(不包括第一个“.”)。基本上,我正在清理用户输入以强制得到实数结果。
到目前为止,我一直在使用在线正则表达式工具尝试在单个步骤中实现此操作,但是我没有取得很大进展。
我希望能够实现以下内容:
asd123.asd123.123.123 = 123.123123123
不幸的是,我只能达到这个阶段
asd123.asd123.123.123 = 123.123.123.123
通过使用这段代码。
System.Text.RegularExpressions.Regex.Replace(str, "[^\.|\d]*", "")
但是我卡在了只保留第一个小数点的问题上。
这能否一次完成?
有更好的方法吗?™
s/[.]/\x{DEADBEEF}/; s/[^.\d\x{DEADBEEF}]//g; s/\x{DEADBEEF}/./;
- tchrist