0

テキスト置換のための単純な RegEx が必要です: 最初から唯一の既知の単語まで。

前:

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

後:

elit, sed do eiusmod tempor incididunt ut labe et dolore magna aliqua.

唯一の静的な単語はadipisicingであるため、他のすべては可変です。

私はこの正規表現を使用しました:

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

正常に動作します..しかし、もっと短い方法があると確信しています!

4

4 に答える 4

1

これを試してください:http://jsfiddle.net/Kh7aD/

indexOf は既に投稿の 1 つにあるため、分割を使用してみてください。

これがあなたを助けることを願っています!

コード

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 に答える