在javascript中减去两个字符串

时间:2012-04-05 20:18:50

标签: javascript jquery substring trim substr

kwd变量保存此值:新闻路径:“。aspx” 它基本上是网址的查询字符串。

  var path= "path:\".aspx\""; 

所以kwd =传递给url的任何用户类型,如+ path:

kwd=news path:".aspx";

我需要减去kwd-path所以我只得到“新闻” 我如何在java-script或jquery中做到这一点?

我知道我可以使用trim或substring或substr .. 但我无法上班。 我基本上使用这个逻辑:

if (b.startsWith(a)) {
        return b.subString(a.length());
    }

    if (b.endsWith(a)) {
        return b.subString(0, b.length() - a.length());
    }

但这不起作用..

 var persistvalue= kwd.subString(0, kwd.length() - path.length());

2 个答案:

答案 0 :(得分:0)

kwd.length() - path.length() - 这个值不是负数吗?

尝试path.length() - kwd.length()

答案 1 :(得分:0)

由于您的.aspx位于字符串中,因此必须先从字符串中提取它:

>>> 'an example:"some text"'.match(/"(.*)"/)[1]
"some text"

现在你可以删除最后出现的字符串:

function removeFromEnd(string, toRemove) {
    function literally(regexp) {
        regexp.replace(/./g, function(x){return '\\'+x})
    }
    yourString.replace(RegExp(literally(string)+'$'), '')
}

$表示字符串结尾。或者,你可以更简单地使用:

function removeFromEnd(string, toRemove) {
    if (string.slice(-toRemove.length)==toRemove)
        return string.slice(0, -toRemove.length);
    else
        return string
}