gpt4 book ai didi

Javascript - 从字符串中替换值位于特定字符之间的子字符串

转载 作者:行者123 更新时间:2023-11-28 13:45:05 24 4
gpt4 key购买 nike

所以我有这个字符串,它代表一个数学表达式:

(timezone*timelapse)-time

每个单词代表输入字段中的一个 id,目前我只是用稍后评估的原型(prototype) js 表达式替换每个单词:

$('timezone').value,

$('timelapse').value

问题出在最后一个 id 上。当我到达那里时,我的表情现在是这样的:

($('timezone').value*$('timelapse').value)-time

因此,当我搜索单词 time 并将其替换为 $('time').value 时,它将影响前两个值并弄乱最终表达式。

我的问题是:如何替换此处正确的单词?

由于这是一个数学表达式,因此该单词可能应该位于任何数学符号之间,如下所示:

(+-/* **word** +-/*)

[empty space] **word** +-/*)

(*-/* **word** [empty space]

还是不?

最佳答案

您可以用一个替换来替换所有内容,这样就不会出现双重替换问题:

exp = exp.replace(/([A-Za-z]+)/g, function(m){
return "$('" + m + "').value";
});

如果是没有任何逻辑的直接替换,您也可以在替换字符串中使用捕获的值,如 Cerbrus 建议的那样:

exp = exp.replace(/([A-Za-z]+)/g, "$('$1').value");

关于Javascript - 从字符串中替换值位于特定字符之间的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14894678/

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