gpt4 book ai didi

javascript - 匹配一个正则表达式,然后删除该正则表达式的一个子集

转载 作者:行者123 更新时间:2023-11-29 17:26:18 24 4
gpt4 key购买 nike

我正在使用 javascript 来解析一些字符串。

我有一些看起来像这样的字符串:

1234 1/2 Old Town Alexandria

I have written a regular expression to identify instances in which a fraction comes after the street number:

var addressFractionRegex = /^\d*\s+(1[/]\d)\s+/i;

我想做的是仅在整个正则表达式匹配的情况下从源字符串中删除正则表达式的小数部分(即:小数前面是街道号码)。在这种情况下,我最终会得到(删除“1/2”):

1234 Old Town Alexandria

I would also like to save the part that I removed into another variable. So ideally, I'd end up with something like:

var street_address = '1234 Old Town Alexandria';
var fraction = '1/2';

这是如何在 javascript 中完成的?

谢谢!

最佳答案

replace can take a function :

var fraction;
var street_address = "1234 1/2 Old Town Alexandria".replace(/^\d*\s+(1[/]\d)\s+/i, function (match, capture) {
fraction = capture.trim();
return match.replace(capture,'')
});

fraction; // 1/2
street_address; // 1234 Old Town Alexndria

Demo

关于javascript - 匹配一个正则表达式,然后删除该正则表达式的一个子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8513853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com