0

需要一个简单的正则表达式进行文本替换:从开头到唯一已知的单词。

前:

Lorem ipsum dolor sit amet,consectetur adipisicing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua。

后:

elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua。

唯一的静态词是adipisicing,所以其他一切都是可变的。

我用过这个正则表达式:

$(this).html($(this).html().replace(/^[^adipisicing]*(adipisicing)/,''));

工作正常..但我敢肯定有更短的方法!

4

4 回答 4

1

试试这个:http: //jsfiddle.net/Kh7aD/

由于 indexOf 已经在其中一篇文章中,请尝试使用拆分。

希望对你有帮助!

代码

var str = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.";


str = str.split('adipisicing')[1];

​</p>

于 2012-07-06T12:06:31.317 回答
0

没有正则表达式:

var word = "adipisicing";

$(this).html(function(i, val) {
    return val.substring(val.indexOf(word) + word.length);
});

使用正则表达式:

$(this).html(function(i, val) {
    return val.replace(/^.*\badipisicing\b/, "");
});

这里\b将绑定一个单词而不是一组字符。

演示:http: //jsfiddle.net/rVuh7/

于 2012-07-06T12:02:32.620 回答
0

使用这个正则表达式^.*adipisicing

于 2012-07-06T12:02:03.217 回答
0

你可以这样尝试:

var tmphtml = $(this).html();
var word = "adipisicing";
$(this).html( tmphtml.substr(tmphtml.indexOf(word)+word.length) );
于 2012-07-06T12:02:03.957 回答