当一个字符串以另一字符串结尾时进行字符串操作

时间:2018-12-27 23:45:33

标签: javascript string

例如:

var x = "abc"
var y = "bcd"

在这种情况下,yx开头("bc")结尾。我想从y中删除那些内容。所以我想以"d"结尾。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

您可以从x的开头(或结尾)开始,直到找到y开头的子字符串:

var x = "abchjkjhdfl"
var y = "dflbcd"

let start = 0
while (start < x.length && !y.startsWith(x.slice(start))){
    start++
}
// remove "dfl"
console.log(y.slice(x.length - start))

答案 1 :(得分:1)

这将确定相交。 注意:如果发生不匹配,也会短路。

var x = "abc";
var y = "bcd";
var z = "";

for (let i = x.length - 1; i > 0; i--) {
  let sample = x.substring(i);
  console.log(sample);
  if (y.startsWith(sample)) {
    z = sample
  } else if (y.includes(sample) == false) {
    i = 0;
  }
}

// Log out the intesect
console.log(z);

//remove it from y
y = y.substring(z.length);

console.log(x+y);