2017-12-26 8 views

Antwort

1

Warum das letzte UND wird nicht entfernt/ersetzt?

Weil Sie versuchen, die Ausgabe von lastIndexOf zu ersetzen, die ein integer

Verwenden replace mit regex

obj.where_str = obj.where_str.replace(/(AND)\s*$/, "") 

/(AND)\s*$/ ersetzt UND nahe dem Ende des Strings kann (oder nicht) gefolgt von Leerzeichen.

+0

so etwas wie geben "AND"

Würde ersetzen. Und wenn ich etwas für den Anfang machen möchte? –

+0

Sie meinen UND am Anfang? Sie können entweder '.replace (/^(AND) /," ")' verwenden, wobei '/ ^' den Anfang der Zeichenfolge bestätigt. Oder einfach '.trim(). Substring (3)' wird reichen. – gurvinder372

+0

danke .... perfekt –

0

Sie können dies tun:

var obj = {}; 
 
    
 
obj.where_str ="CD_MAQ LIKE '%AA%' AND"; 
 
var lastIndex = obj.where_str.lastIndexOf(" "); 
 

 
obj.where_str = $.trim(obj.where_str.substring(0, lastIndex)); 
 
console.log(obj.where_str);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

0

lastIndexOf() liefert einen Index.

könnten Sie diesen Index verwenden, um die Teilkette, in dem Sie auswählen möchten diesen Dank

str.substr(0, str.lastIndexOf("AND")) + "" + str.substr(str.lastIndexOf("AND") + "".length) 

Verwandte Themen