【问题标题】:Regular Expression - Add a '0' if number is only decimal point正则表达式 - 如果数字仅为小数点,则添加“0”
【发布时间】:2012-02-15 11:15:38
【问题描述】:

在处理一些十进制数字时遇到了一些问题 - 由于我的公司系统中的一个错误,我有一个产品文件,其中的价格(例如 50 英镑)不是显示为“50.00”而是“50.0”

现在我们可以在我们的系统中使用正则表达式,所以我正在寻找一种在小数点只有 1 时添加“0”的方法。或者如果小数点后只有 1 个整数,加一个零。

任何人都可以帮助我朝着正确的方向前进吗?

帮助不胜感激!提前非常感谢。

利亚姆

【问题讨论】:

  • 您需要提供有关系统的更多信息。我们在谈论 perl 正则表达式吗? PHP中的正则表达式?我们可以在命令行中使用 sed 吗?
  • 您是否正在寻找只对数字或包含价格的文本进行操作的正则表达式?
  • 如果您使用任何受 C 语言影响的语言,那么我建议您使用 printf。
  • 该系统是基于 Java 的,您可以使用占位符,并且有一个带有 RegexMatches 的占位符 - 您不能使用替换,非常有限。在数量上会很棒。而且显然不能是多行:(
  • 您确实需要提供一些示例代码,其中包含您正在尝试做的事情的上下文,以便任何人都能够提供帮助。

标签: regex


【解决方案1】:

如果您的系统支持前瞻,请在正则表达式多行模式下尝试此操作

(\d\.\d)(?=\D|$)

并替换为$10\10(取决于您的系统)

$1的内容是第一个括号中匹配的内容。

在此处查看(并对其进行测试)on Regexr

【讨论】:

  • 这很好用,但我认为它不支持多行,这很遗憾,给我一个错误。
猜你喜欢
  • 1970-01-01
  • 2015-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-22
相关资源
最近更新 更多