2012-04-05 14 views
0

kwd Variable diesen Wert hält: Nachrichten Pfad: "aspx" Es ist im Grunde die Query-String einer URL.subtrahieren zwei Strings in Javascript

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

so kwd = was auch immer Benutzertypen an die URL wie folgt + Pfad geführt:

kwd=news path:".aspx"; 

Ich brauche kwd-Pfad zu subtrahieren, so erhalte ich nur "news" Wie kann ich tun, dass in Java-Skript oder Jquery?

Ich weiß, ich kann entweder trimmen oder Teilstring oder Teilstr .. Aber ich konnte nicht zur Arbeit kommen. Ich verwende grundsätzlich diese Logik:

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

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

Aber das funktioniert nicht ..

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

Können Sie einfach mit leeren String ersetzen? 'b.replace (a,' ');' –

Antwort

0

kwd.length() - path.length() - ist nicht dieser Wert negativ?

versuchen path.length() - kwd.length()

0

Da Ihr .aspx in einem String ist, müssen Sie es zunächst aus der Zeichenfolge extrahieren:

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

Jetzt können Sie eine Zeichenfolge entfernen, wenn es am Ende erscheint:

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

Die $ bedeutet das Ende der Zeichenfolge. Alternativ können Sie es viel einfacher mit:

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