首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用区分大小写的方法更改字符串的一部分

使用区分大小写的方法更改字符串的一部分
EN

Stack Overflow用户
提问于 2012-12-12 11:13:08
回答 2查看 499关注 0票数 0

我想搜索一个不区分大小写的字符串,但是用原来字符串的大小写更改子字符串。

代码语言:javascript
复制
var mystring = "FiRst Last";
var term = "first";  // it could be "FIRST" or fIRST

var re = new RegExp("^" + term, "i") ;
//option 1
//var t = mystring.replace(re,"<span style='font-weight:bold; color:Blue;'>" + term + "</span>");
//option 2
var t = mystring.replace(re,term.bold().fontcolor("Blue"));

上面的代码给出了最后一个蓝色的,但是我希望它是FiRst,最后作为我字符串的大小写顺序。

也许可以使用indexof()方法,但是可能有一种简单有效的方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-12 11:28:10

代码语言:javascript
复制
var querystr = 'first';
var output = "FiRst Last";
var reg = new RegExp(querystr, 'gi');
var final_str = output.replace(reg, function(str) {return str.bold().fontcolor("Blue")});

看下面的链接..。

Javascript: highlight substring keeping original case but searching in case insensitive mode

user113716给出的解决方案可能会有帮助。

票数 1
EN

Stack Overflow用户

发布于 2012-12-12 11:26:50

只需使用第一个选项的捕获组即可。

代码语言:javascript
复制
var str = "FiRst Last";
var term = "first";

var t = str.replace( /(first)/i, "<span style='font-weight:bold; color:Blue;'>$1</span>");

T现在将包含

代码语言:javascript
复制
"<span style='font-weight:bold; color:Blue;'>FiRst</span> Last"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13838468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档