首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法动态地将代码添加到正则表达式匹配的每个实例中?

有没有办法动态地将代码添加到正则表达式匹配的每个实例中?
EN

Stack Overflow用户
提问于 2011-02-15 02:19:58
回答 2查看 68关注 0票数 3

假设我有一个文本块,我想用索引数字替换单词" the“的每个实例。

例如..。

“大白鲨鱼是咬人理论之父。”

会变成..。

"0条大白鲨是3口的1个fa2r。“

我正在寻找类似这样的东西: myText.match(/the/gi).each(function(i){ //?});

欢迎使用jquery解决方案。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-15 02:21:25

示例: http://jsfiddle.net/sYQgb/1/

代码语言:javascript
复制
var i = -1;
myText = myText.replace(/the/gi, function(){ return ++i; });
票数 5
EN

Stack Overflow用户

发布于 2011-02-15 02:34:43

代码语言:javascript
复制
function replaceText(text, splitArg) {
    //var text ="axaxa";
    var parts = text.split(splitArg);

    var replaced = "";
    var part;
    for (var i=0;i<parts.length;i++) {
        part = parts[i]
        if(i > 0)
            replaced += i-1;

        replaced+=part;

    }
    return replaced;
}


function writeLine(text) {
     document.write("<p>"+text+" &nbsp;</p>");   
}

writeLine(replaceText("axa", "x"));
writeLine(replaceText("axaxa", "x"));
writeLine(replaceText("axaxxa", "x"));
writeLine(replaceText("axaxxa", /x+/));//**using a regex!**
writeLine(replaceText("", "x"));
writeLine(replaceText("aa", "x"));

//output:
//a0a  
//a0a1a  
//a0a12a  
//a0a1a  
// 
//aa  

如果你想尝试一下:http://jsfiddle.net/QFUWG/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4995754

复制
相关文章

相似问题

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