如何在JavaScript中将abcabc
拆分为abc
。
注意:abcabc
可以是任何字符串,但是模式类似于bacbac
,defdef
,namename
,BallBall
答案 0 :(得分:4)
因为它总是两个长度相同的单词:
let s = 'abcabc'
console.log(s.slice(0, s.length/2));
答案 1 :(得分:2)
您可以通过使用惰性的量词和最后一个模式的正向提前量以及对空字符串的filterign来拆分数组。
var string = 'ababab',
array = string.split(/(.+?)(?=\1)/).filter(Boolean);
console.log(array)
答案 2 :(得分:1)
将字符串分成两半:
function inHalf(str) {
let middle = Math.ceil(str.length / 2);
return str.slice(0, middle);
}
console.log(inHalf("abcabc"))
console.log(inHalf("bacbac"))
console.log(inHalf("somethingsomething"))
答案 3 :(得分:0)
如果您要替换所有出现的互为“镜像”的单词,请尝试以下选项:
var string = "Hello abcabc world defgdefg blah blah";
console.log(string.replace(/\b(.*)\1\b/mg, "$1"));
可以使用以下模式匹配镜像字:
\b(.*)\1\b
这将匹配一些数量,恰好是一个单词的一半,然后是下半个相同的序列。然后,我们可以将其替换为镜像字的一半。