0
在JavaScript中,我有一個自動生成的字符串數組(通過GET請求),字符串「在字符串內」。我的目標是在一個字符串中刪除兩個「中的所有文本」 使用replace()
函數,適用於在字符串中只有2個「但不是4」的字符串。用JavaScript替換4個字符之間的字符串中的字符串
對於具有4「在下面的例子中,array[3]
,replace()
函數刪除了太多的文本,它刪除了第一個「和最後一個」之間找到的所有文本,而它應該刪除第一個&秒之間的文本「AND」
會有人知道一個解決方案? 10
請注意:我在我的代碼中使用的數組是從其他地方自動生成的。手動更改字符串數組是不可能的。對於下面以及小提琴的劇本我使用轉義字符\包括「字符串中,但在我實際的數組,這些都是不存在
這裏是我的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"]
我有工作Fiddle返回字符串的錯誤陣列
shortified:console.log(array.map(e => e.replace(/".*"/,「」))); –
嘗試添加懶惰和全局標誌'/".*?"/ g' – maioman