「data-RowKey=xxx」というテキスト内に含まれる文字列名コンテンツです。私はxxxから抜け出そうとしているので、次のことを試しました:
var val = content.substring(12 + content.indexOf("data-RowKey="), 3);
これはまったく機能しません。3 文字を取得するだけでなく、非常に長い文字列を取得します。誰が私が間違っているかを見ることができますか
「data-RowKey=xxx」というテキスト内に含まれる文字列名コンテンツです。私はxxxから抜け出そうとしているので、次のことを試しました:
var val = content.substring(12 + content.indexOf("data-RowKey="), 3);
これはまったく機能しません。3 文字を取得するだけでなく、非常に長い文字列を取得します。誰が私が間違っているかを見ることができますか
.substring()
[MDN]は 2 つのインデックスを取り、.substr()
[MDN]はインデックスと長さを取ります。試す:
var val = content.substr(12 + content.indexOf("data-RowKey="), 3);
が文字列全体の場合"data-RowKey=xxx"
、 を取得するには他にもさまざまな方法がありますxxx
。
var val = content.replace('data-RowKey=', '');
var val = content.split('=')[1]; // assuming `=` does not appear in xxx
間違ったツールを使用しています。あるパターンに一致するデータをキャプチャする場合は、正規表現を使用する必要があります。値がちょうど 3 つの記号である場合、正しい表現は、任意の記号を/data-RowKey=(...)/
表し、キャプチャする部分を指定することになります。.
()
これは機能します:
var value = content.match(/data-RowKey=(.*)/)[1];
の後に値がある可能性がある場合はxxx
、次を使用します。
"data-RowKey=123abc".match(/data-RowKey=(.{3}).*/)[1] // 123
行キーが数値の場合、数値を整数として取得し、後で変換する必要がないため、これが最適な場合があります。
var val = parseInt( content.split("data-RowKey=")[1] );
常に 3 文字で変換する必要がない場合:
var val = content.split("data-RowKey=")[1].substring(0,3);