如何以不区分大小写的方式查找和替换字符串的部分

How to Find and replace parts of string in case insensitive way?

本文关键字:替换 字符串 查找 方式 不区 大小写      更新时间:2023-09-26

我有这样一个简单的例子。我想替换例如add ann.c中的文本,就像我在add Ann.c中替换它一样。如何使用jQuery?

以下是我的做法:$("#tags").val().replace(dictionary[j]['name'].toLowerCase(), dictionary[j]['realvalue']);很抱歉打扰。。。但任何更为优化的解决方案都非常受欢迎。

String.replace()与设置了i(不区分大小写(标志的regexp对象一起使用。

只要先转义任意字符串,就可以从该字符串安全地构建regexp对象。

$("#tags").val().toLowerCase(); // will convert all uppercase characters to lowercase ones

然后它会查找例如ann.c,因此您需要更改对象:

var dictionary = jQuery.parseJSON('[ { "name": "ann.c",  "realvalue": "./34534j435345j3b3"  }, {   "name": "ann.h",   "realvalue": "./333dfsdGjh45j3b5" }]');

顺便问一下:

var dictionary = [ { "name": "ann.c",  "realvalue": "./34534j435345j3b3" },
                   { "name": "ann.h",  "realvalue": "./333dfsdGjh45j3b5" } ];

http://jsfiddle.net/pimvdb/uDdbq/18/

var text = $("#tags").val().replace(RegExp(dictionary[j]['name'],"i"), dictionary[j]['realvalue']);

您可以将字符串转换为正则表达式,并添加不区分大小写的内容。