在JavaScript中减去两个字符串

11

我想在Javascript中找到两个字符串之间的差异。

给定两个字符串

 var a = "<div>hello</div><div>hi</div><div>bye/</div>";
 var b = "<div>hello</div><div>hi</div>";

结果应该是"<div>bye</div>"

就像一个公式:

var result = a - b;

& 我需要用JavaScript实现这个功能(JS中是否有默认方法可用??)

有人可以帮帮我吗?


已经在这里解决了:https://dev59.com/6msz5IYBdhLWcg3wQFYq - Menefee
1
这是针对字符串还是特定的DOM节点?而且关于您的期望没有足够的细节。这只适用于以b开头的情况吗?如果b是<div>hello</div><div>bye</div>,那么a-b是否为<div>hi</div>?无论如何,我觉得这不是解决您问题的正确方法。 - Kevin Raoofi
3个回答

21

你可以使用以下代码来获得期望的输出:

var s = a.replace(b, '')


如果更改 div 的顺序,它将无法正常工作。 - bhansa

5
这似乎是一个x/y问题。但无论如何,我会尽力帮助你。
我们想要找到ba中的位置。
var start = a.indexOf(b);
var end = start + b.length;

现在把它放在一起。
return a.substring(0, start - 1) + a.substring(end);

-1

var a = "<div>hello</div><div>hi</div><div>bye/</div>";
var b = "<div>hello</div><div>hi</div>";

c = a.substring(b.length)

console.log(c);


你的答案只适用于 ab 开头的情况,如果 b 嵌套在 a 中,这种方法将不起作用。虽然它对作者给出的示例有效,但是在 SO 上类似的问题应该被一般性地回答。 - Samathingamajig

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接