比较JS中的两个字符串并返回新字符串的剩余部分

时间:2014-03-20 21:04:29

标签: javascript jquery string

我目前正在构建一个“打字”样式插件,以提高我的技能与Javascript& jQuery的。到目前为止,一切都按预期工作。但是,我无法实现一个函数来将单词的副本存储在具有相同单词的字符串中。

例如,如果我将插件传递给像['Our Community', 'Our Family', Our Friends']这样的数组,我只想拼出那些没有重复的单词。

这是我用来删除单词的以下功能:

function clearString(el, cb) {

    var length;

    el.html(function(_, html) {

        length = html.length;
        return html.substr(0, length - 1);
    });

    if(length > 1) {

        setTimeout(function () {

            clearString(el, cb);
        }, humanize/2);

    } else {

        cb();
    }
}

我在更改html时尝试添加以下内容以检查相似之处,但没有运气:

if( index !== 0 ) {
    var string1 = strings[index],
        string2 = strings[index - 1];

    if( string1.indexof(string2) !== -1 ) {
        // yes it does
            cb();
    }
}

基本上我想要的是,在我开始的例子中,如果我有一个字符串“我们的社区”而下一个是“我们的家庭”;我想检查那个“我的”片段,这样我就可以停止擦除并使用回调来返回并开始编写下一个字符串...另外,我的问题是......我是否需要保存此值发生的位置,然后使用substr()之类的东西只删除字符串的某一部分?

过去两天我一直在阅读,在这里和其他网站试图找出实现此功能的最佳方式。非常感谢任何帮助/方向。谢谢。

1 个答案:

答案 0 :(得分:0)

正确使用正则表达式应该有助于完成此任务。划分空白边界,然后使用匹配的索引来确定其他字符串是否匹配。使用replace(match_Array [my_index],'')应该允许您替换没有字符的匹配文本。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp