正则表达式替换字符串中不是数字或句点的任何内容

时间:2019-02-27 11:04:06

标签: javascript regex string function ecmascript-6

我正在尝试编写一个正则表达式来替换不是数字或字符串中的.的任何内容。

例如:

const string = 'I am a 1a.23.s12h31 dog'`
const result = string.replace(/[09.-]/g, '');
// result should be `1.23.1231`

有人可以在这里看到我在做什么错

1 个答案:

答案 0 :(得分:1)

您可以将正则表达式更改为[^0-9.]+

const result = string.replace(/[^0-9.]+/g, "");

或者,如果您不希望使用正则表达式,请使用splitfilter,然后使用join

const result = string.split("").filter(s => isNaN(s) || s == ".").join("");