私はそのような文字列を持っています:
私は長すぎず短すぎない紐です
文字列内の単語 'not' を見てみましょう: 位置番号 13 から始まり、位置番号 16 で終わります。
JQuery を使用して、位置 13 と位置 16 の間の単語を次のように置き換える方法があります。
<b>not</b>
コンテンツではなく、置き換えたい文字列の位置だけを知っています。
私はそのような文字列を持っています:
私は長すぎず短すぎない紐です
文字列内の単語 'not' を見てみましょう: 位置番号 13 から始まり、位置番号 16 で終わります。
JQuery を使用して、位置 13 と位置 16 の間の単語を次のように置き換える方法があります。
<b>not</b>
コンテンツではなく、置き換えたい文字列の位置だけを知っています。
You can mostly use good old-fashioned JavaScript to do this, but you can use jQuery for the DOM manipulation (though you don't have to).
contents:
function replacePiece(str, start, end) {
var component = str.substr(start, end - start);
var newstr = str.substr(0,13) + "<b>" + component + "</b>"
+ str.substr(end);
return newstr;
}
$("#Str").html(replacePiece($("#Str").text(), 13, 16));
この回答は、開始位置しか知らない場合の交換用です
私がやったのは、単語の終了位置ではなく、開始位置だけを知っていることに基づいて答えることです。
これが行うことは、既知の開始位置から文字列を取得し、スペースで分割し、最初の単語を で囲み、<b>
それを文字列の間に追加して出力します。
JSFiddle の例 http://jsfiddle.net/Jc829/4/
最初から注意を怠って申し訳ありません。
また、これには jQuery は必要ありません。
Explosion Pillsの回答を受け入れましたが、これはこれを行うためのより洗練された方法だと思います(リンクについてはMatthew Richesに感謝します)
String.prototype.replacePiece = function(replace_with, start, end) {
return this.substring(0, start) + replace_with + this.substring(end, this.length)
}
var str = "Helloiworld";
var replace_with = "<b>i</b>";
alert(str.replacePiece(replace_with, 5, 6));