Regex-删除最多秒的空白

Regex - Delete up to second whitespace

本文关键字:空白 删除 Regex-      更新时间:2023-11-04

我想我想做的是可能的。。。但我还没有找到实现这一点的答案。我想在javascript:中格式化一个类似的字符串

+44 (0) 234-567-8901

正在进行的国际(+44)和本地((0))调用代码可能会更改,因此字符串可能更长或更短。但是格式总是一样的。

我想取这个字符串,删除所有字符,包括第二个空格之前的空格,并删除短划线。例如:

+44 (0) 234-567-8901 becomes 2345678901

有人能帮忙吗?

感谢

根据自己的要求(删除第二个空格之前的所有内容,并从剩余的空格中删除短划线);

使用此模式^(['S]+'s){2}|-,不替换任何内容。您应该留下一个与您要求的数字类似的数字(+44 (0) 234-567-8901变成2345678901)。

如果您可以依靠字符串的结尾格式来保持字符数的一致,那么您可以获取最后12个字符,并删除短划线。

var result = str.slice(-12).replace(/-/g, "");

如果你真的只是想要一个正则表达式,你可以这样做。。。

var result = str.match(/('d{3})-('d{3})-('d{4})$/).slice(1).join("");

同样,这取决于字符串末尾的一致性。如果可能存在变化,您需要进行调整以进行补偿。


要获取最后一个空白之后的所有内容,请将第一个示例中的slice()更改为。。。

.slice(str.lastIndexOf(' ') + 1)

要获取第二个空白之后的所有内容,请将slice()更改为。。。

.slice(str.indexOf(' ', str.indexOf(' ') + 1) + 1)