gpt4 book ai didi

javascript - 子字符串和第一个点之间的文本

转载 作者:行者123 更新时间:2023-11-29 17:39:36 25 4
gpt4 key购买 nike

我有一个文本,我需要替换原始文本中的一些文本。因此,例如:

原文:带附件的公寓出售。交易日期 01-01-2014 在同一地区进行。因麦克拉达,10。 build 年份:1974 年。针对 hpi (4%)、面积 (-5.00%) 进行了调整。调整后收盘价:1,022.07 €/m2。

我需要找到替换子字符串“Construction year:”和该子字符串后的下一个点 (.) 之间的内容。

最终预期文本:带附件的公寓出售。交易日期 01-01-2014 在同一地区进行。因麦克拉达,10。新 build 年份:2010 年。针对 hpi (4%)、面积 (-5.00%) 进行了调整。调整后收盘价:1,022.07 €/m2。

我得到的最终文本不正确我得到的是最后一个点 (.),也不是下一个点,因此子字符串和最后一个点 (.) 之间的所有内容都已更改。获得这个:

带附件的公寓出售。交易日期 01-01-2014 在同一地区进行。因麦克拉达,10。新建年份:2010。

var new_generated_comparable_comment = generated_comparable_comment.replace(/(Catastral Reference: )..([^.])/, 'Catastral Reference: ' + value + ').');

谢谢。

最佳答案

您使用的正则表达式 (Construction year:).*.([^.]*) 在捕获组中捕获 Construction year:。然后 .* 匹配除换行符之外的任何字符 0+ 次,并将匹配到字符串的末尾。之后,它匹配任何字符 1 次,0 次以上不匹配点,所以在 build 年份: 之后,它将保持匹配。

如果你想替换 Construction year: 之后的年份,你可以使用捕获组 $1 后跟你想要替换匹配项的内容。在捕获组之后,您可以不匹配点 [^.]+

(Construction year: )[^.]+

Regex demo

您可以在正则表达式的末尾添加全局标志 /g 以进行多个匹配。

const regex = /(Construction year: )[^.]+/;
const str = `Flat sold with annexes. Transaction date 01-01-2014 carried out in same area. INMACULADA, 10 . Construction year: 1974. Adjustments made for hpi (4%), area (-5.00%). Closed price after adjustments: 1,022.07 €/m2.`;
const subst = `$12010`;
const result = str.replace(regex, subst);

console.log(result);

关于javascript - 子字符串和第一个点之间的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53872390/

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