繁体   English   中英

减去javascript中的两个字符串

[英]Subtract two strings in javascript

kwd 变量保存这个值: news path:".aspx"它基本上是一个 url 的查询字符串。

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

所以 kwd= 像这样传递给 url 的任何用户类型 + 路径:

kwd=news path:".aspx";

我需要减去 kwd-path 所以我只得到“新闻” 我如何在 java 脚本或 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());

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

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

由于您的.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
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM