Javascript字符串替换最后一次出现

问题描述 投票:1回答:3

为什么上次'AND'没有删除/替换?

obj.where_str ="CD_MAQ LIKE '%AA%'  AND";
  obj.where_str = $.trim(obj.where_str).replace(obj.where_str.lastIndexOf("AND"), " ");

谢谢。

javascript string replace
3个回答
1
投票

为什么上次'AND'没有删除/替换?

因为你试图替换lastIndexOfinteger的输出

使用replace和正则表达式

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

/(AND)\s*$/将替换字符串末尾附近的AND可能(或可能不)后跟空格。


0
投票

你可以这样做:

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()返回一个索引。

您可以使用该索引来选择要替换"AND"的子字符串

会给这样的东西

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

© www.soinside.com 2019 - 2024. All rights reserved.