首页 > 解决方案 > 正则表达式替换空间

问题描述

我有一段代码正在抓取格式很差的价格。我只想使用正则表达式来清理它。
他们正在发送

$ 3 58

我想删除 $ 和空格,并将美元和美分之间的空格替换为 . 所以我得到:

3.58

我可以摆脱 $ 和领先的空间,但我真的被困在替换上。我知道

  Regex (.*) returns everything
  Regex \ (.*) returns '3 58'

但我真正想要的是

  3.58

我正在尝试在一个名为内容抓取器的程序中执行此操作,因此我只能访问正则表达式。

标签: regexcontent-grabber

解决方案


$ 3 58您可以匹配您想要在替换中删除的内容并捕获您想要保留的内容。

匹配一个美元符号\$,然后匹配一个或多个空白字符\s+并在一组中捕获一个或多个数字(\d+)

在替换使用 group1 。组2。例如$1.$2

\$\s+(\d+)\s+(\d+)


推荐阅读