是否需要有关如何在javascript中比较一个字符串和从另一个字符串中删除一个字符串的建议?

12无人

我遇到了一个困扰我的问题。我必须编写一个接受两个字符串stringA和stringB的函数,并使用stringA从stringB中删除stringA的所有实例。结果字符串C中应该没有A的实例,并且空格应为零。

测试用例为:

stringA = 'ab';  
stringB = 'aabb';
stringC = ' ';

或者

stringA = ')(';  
stringB = '((()))'  
stringC = stringB;  

到目前为止,我一般的方法是从存储在收集字符串的变量中的两个提示开始。.replace()都在两者上运行以删除任何空白。

我得到的最接近的是两个for循环,一个是stringA,其中嵌套了字符串B,并针对彼此测试索引是否匹配。如果不匹配,则将其推入stringC。但是我的问题是,仅当有问题的两个索引当时恰好匹配时,它才不会真正删除stringA的实例。

我已经在这里搜索了很多,并提出了.filter()或.replace(),但是我对如何使用它们没有任何运气/见识。任何建议都将非常有帮助,我觉得我碰壁了。这是我在jsfiddle中的代码的链接

感谢大家。

更新

你们真是太棒了。:)我不想只是偷偷地回答一个问题并将其传递给我,但是你们所有人都给了我很多东西供我研究和理解,以便当我解决它时,我不仅能理解原因,还可以理解原因。非常感谢您的快速解答,帮助和指导。

am

另一种方法,使用递归:

https://jsfiddle.net/iamnotsam/ytvujc9a/(<--被注释)

// removes all instances of a string s1 from another string s2
var removeAllSubstrings = function(s1, s2, s3) {
    if (s2 === '' || s2 === s3) { return s2; }    
    return removeAllSubstrings(s1, s2.replace(s1,''), s2);
}

var sa = 'ab',
    sb = 'doaaabbbaabbababne';

// Put the final string on the screen
document.getElementById("t").innerHTML = removeAllSubstrings(sa, sb);
<script src="app.js"></script>
<title>challange</title>

<body>
	<h1 id="t">String Remover</h1>
</body>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档