为什么上次'AND'没有删除/替换?
obj.where_str ="CD_MAQ LIKE '%AA%' AND";
obj.where_str = $.trim(obj.where_str).replace(obj.where_str.lastIndexOf("AND"), " ");
谢谢。
为什么上次'AND'没有删除/替换?
因为你试图替换lastIndexOf
的integer
的输出
使用replace
和正则表达式
obj.where_str = obj.where_str.replace( /(AND)\s*$/, "" )
/(AND)\s*$/
将替换字符串末尾附近的AND可能(或可能不)后跟空格。
你可以这样做:
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>
lastIndexOf()
返回一个索引。
您可以使用该索引来选择要替换"AND"
的子字符串
会给这样的东西
str.substr(0, str.lastIndexOf("AND")) + "" + str.substr(str.lastIndexOf("AND") + "".length)