从字符串中过滤掉所有句点,但是在数字中保留小数点?

时间:2017-10-09 11:14:04

标签: javascript regex

我需要从字符串中删除所有句号,但要将小数点保留在数字中,例如:

'This 12.6 decimal point should stay. But full stops should go.' --> 'This 12.6 decimal point should stay But full stops should go'

我认为Regex是替换的正确方法,但似乎无法找到正确的模式。 欢呼任何帮助。

2 个答案:

答案 0 :(得分:1)

使用负前瞻断言(?!...)

var str = 'This 12.6 decimal point should stay. But full stops should go.',
    result = str.replace(/\.(?!\d)/g, '');

console.log(result);

\.(?!\d) - 确保.后面没有数字

答案 1 :(得分:0)

你可以对空格或字符串结尾采取积极的预测,只用空字符串替换找到的点。

var string = 'This 12.6 decimal point should stay. But full stops should go.'

string = string.replace(/\.(?=\s|$)/g, '');

console.log(string);