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