gpt4 book ai didi

javascript - 在 JavaScript 中替换 4 个“字符之间的字符串中的字符串片段

转载 作者:行者123 更新时间:2023-12-03 05:14:44 24 4
gpt4 key购买 nike

​在 JavaScript 中,我有一个自动生成的字符串数组(通过 GET 请求),其中字符串中包含字符“。我的目标是删除单个字符串中两个“内的所有文本。使用 replace() 函数适用于字符串中只有 2 个 "而不是 4 个的字符串。

对于具有 4 "(需要删除的两段文本)的字符串,下面示例中的 array[3]replace() 函数也会删除太多文本。它会删除第一个“和最后一个”之间找到的所有文本,同时应删除第一个和第二个“以及第三个和第四个”之间的文本。

有人知道这个问题的解决方案吗?

请注意:我在代码中使用的数组是从其他地方自动生成的。手动更改字符串数组是不可能的。对于下面和 Fiddle 中的脚本,我使用转义字符\将 "包含在字符串中,但在我的实际数组中,这些字符不存在。

这是我的 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返回错误的字符串数组。

最佳答案

我不是正则表达式专家。我会用普通的 js 来做到这一点:

console.log(array.map(e=>e.split("\"").map((a,i)=>i%2==0?a:undefined).join("")));

用“分割,然后删除数组的每隔一个部分。

关于javascript - 在 JavaScript 中替换 4 个“字符之间的字符串中的字符串片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41650420/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com