gpt4 book ai didi

javascript - 在进行正则表达式搜索时操作输入字符串

转载 作者:行者123 更新时间:2023-12-03 02:25:21 25 4
gpt4 key购买 nike

尝试查找字符串中的每个匹配项并使用自定义函数处理它并在字符串中替换它。当我将 text = 设置为新字符串时,它永远不会改变,并且最终保持不变。

function submit () {
var searchTerm = document.querySelector('#search-term').value;
var replaceFunction = Function('input', document.querySelector('#function').value);
var text = '<part id="cursor_crosshair" x="96" y="32" w="16" h="16" focusx="7" focusy="7" />';
var output = text;
var regex = new RegExp('\d', 'g');
var match, matches = [];

//search for replacements
while ((match = regex.exec(text)) != null) {


var beforeMatch = output.substring(0, match.index);
var afterMatch = output.substring(match.index + match[0].length, text.length);

text = beforeMatch + replaceFunction(match[0]) + afterMatch;
console.log(text);

}
console.log('result', text);
}

function replaceFunction (input) {
return input * 2;
}

最佳答案

使用 replace() 及其 function's callback 可以用更少的代码实现相同的结果。以 match 作为参数。

var text = '<part id="cursor_crosshair" x="96" y="32" w="16" h="16" focusx="7" focusy="7" />';

text = text.replace(/\d+/g, function(match){
return parseInt(match) * 2;
})

console.log(text)

关于javascript - 在进行正则表达式搜索时操作输入字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48976019/

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