JavaScriptでは、文字列内に文字列を含む(GETリクエストを介して)文字列が自動的に生成されます。 replace()
関数を使用すると、文字列内に2文字しか含まれていない文字列が4つではなく4文字しか使用できません。JavaScript内の4 "文字の間の文字列内の文字列の置換
4 "(2削除する必要があるテキスト部分)、array[3]
の場合、replace()
関数はあまりにも多くのテキストを削除します。最初の "and last"の間のテキストをすべて削除しますが、最初の&番目の "AND第三&」の間。
誰もがこのためのソリューションを知っていますか?
注:私のコードで使用する配列は、他の場所から自動的に生成されます。手動で文字列の配列を変更することはできません。以下とフィドル内のスクリプトのために私は、「文字列の中、私の実際の配列では、これらが存在しない含めるようにエスケープ文字\を使用
ここは私のJavaScriptコードです:私が持っている
var array = ["John Mayer & Peter Right", "John \"the Man\" Mayer & Peter Right", "John Mayer & Peter \"the King\" Right", "John \"the Man\" Mayer & Peter \"the King\" Right"]
new_array = []
for (var i = 0; i < array.length; i++){
var edit_string = array[i].replace(/".*"/, "")
new_array.push(edit_string)
}
console.log(new_array) // ["John Mayer & Peter Right", "John Mayer & Peter Right", "John Mayer & Peter Right", "John Right"]
作業私は無地のJSでこれを行うだろう文字列の間違った配列を返すFiddle
short:console.log(array.map(e => e.replace(/".*"/、 ""))); –
遅延フラグとグローバルフラグ '/".*?"/g'を追加してみてください – maioman