gpt4 book ai didi

javascript - 使用正则表达式删除连续的重复字符

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

好吧,我有以下类型的输入和所需的输出。我基本上想做的是删除连续重复的字符。(保持第一个字符删除所有以下连续重复的字符)。

input = dup(["abracadabra","allottee","assessee"])
output = ["abracadabra","alote","asese"].

input = dup(["kelless","keenness"])
output = ["keles","kenes"]

这就是我到目前为止所做的。

let arr1 = ["abracadabra", "allottee", "assessee"];
let arr2 = ["kelless", "keenness"];

function dup(input) {
return input.map(e => {
let tempOp = ''
for (let i = 0; i < e.length; i++) {
if (i === 0) tempOp += e[i];
else if (e[i - 1] !== e[i]) tempOp += e[i]
}
return tempOp;
})
}
console.log(dup(arr1))
console.log(dup(arr2))

我可以用 for 循环来完成。但是还有其他更好的方法吗?如果可以的话,我可以用正则表达式来做吗?任何方向都会有很大帮助。

最佳答案

您可以尝试以下正则表达式:

(.)\1+

然后用 $1 替换匹配项。这意味着:

Replace multiple occurrences with the match of first capturing group, which is . (matches any character only once).

let arr = [
'abracadabra',
'allottee',
'assessee',
'Gooooooooooooooogle',
'Vacuum'
];

arr = arr.map(val => val.replace(/(.)\1+/g, '$1'));
console.log(arr);

关于javascript - 使用正则表达式删除连续的重复字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53729488/

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