首页 > 解决方案 > 正则表达式匹配除 (- 和 .) 之外的任何非数字

问题描述

我正在使用 GET 命令从无线传感器中提取一些 URL 文本,但是数据包含的信息比我需要的要多,我将把它放在电子表格和图表中,所以我只需要数字(包括任何“- “ 或者 ”。”)。

我在用

/\D/g

全局匹配任何非数字,然后将其替换为空。一种粗略的做法,但它在没有“-”或“。”时有效。

我的目标是在输出中包含这些符号(- 和 .),因此我需要将它们从正则表达式匹配中排除。

目前我所拥有的是...

var temp = UrlFetchApp.fetch("URL"); //Output is {"temperature": -62.01}
var tempNum = temp.getContentText().replace(/\D/g,"");

输入:{“温度”:-62.01}

正则表达式匹配

将匹配替换为空白 ("")

输出目标:-62.01

标签: node.jsregexgoogle-apps-script

解决方案


你可以试试

replace(/[^\d\.-]/g,"");

替换一切

  • ^不是一个
  • \d数字
  • \.字面意思.
  • -文字-

但输出看起来像 json。如果是这样,解析是正确的方法:

var temp = UrlFetchApp.fetch("URL"); //Output is {"temperature": -62.01}
var tempNum = JSON.parse(temp.getContentText())["temperature"]; //-62.01

推荐阅读