从字符串中删除点和空格

Remove dots and spaces from strings

我想用正则表达式 text.replace(/[ .]+/g, '').

删除点 . 和空格

This is an 8-string 12.34.5678; and this is another 13-string 1234 5678 9123 0 okay?

但主要问题是它从句子中删除了所有点和空格。

Thisisan8-string12345678;andthisisanother13-string1234567891230okay?

需要转换为。

所以句子将是:

This is an 8-string 12345678; and this is another 13-string 1234567891230 okay?

我做错了什么?我坚持 finding/matching 正确的解决方案。

您可以使用

s.replace(/(\d)[\s.]+(?=\d)/g, '')
s.replace(/(?<=\d)[\s.]+(?=\d)/g, '')

参见regex demo

详情

  • (\d) - 第1组(替换模式中的</code>是组的值):一个数字</li> <li><code>[\s.]+ - 一个或多个空格或 . 个字符
  • (?=\d) - 确保下一个字符是数字的正向前瞻。

参见JavaScript演示:

const text = 'This is an 8-string 12.34.5678; and this is another 13-string 1234 5678 9123 0 okay?';
console.log(text.replace(/(\d)[\s.]+(?=\d)/g, ''));