gpt4 book ai didi

javascript - 从 reddit 评论中删除链接

转载 作者:行者123 更新时间:2023-11-29 18:53:11 25 4
gpt4 key购买 nike

我正在阅读 reddit 帖子下的评论。

有些评论有链接,我想去掉。

示例(输入):

This is a [pic](https://i.imgur.com/yKmUMJD.jpg), [this](http://www.google.com) is a link

我希望字符串看起来如何(输出):

This is a pic, this is a link

我用了this ,下面一行就可以了:

item.data.body.replace(/ *\([^)]*\) */g, "").replace('[', '').replace(']', '');

我想知道如何将 http 添加到正则表达式中,这样它也不会删除“正常”括号文本。

谢谢

最佳答案

我看到你之前发过类似的问题。现在您还发布了您尝试过的内容...看起来您正在为此苦苦挣扎。

这是我会做的:

const str = "This is a [pic](https://i.imgur.com/yKmUMJD.jpg), [this](http://www.google.com) is a link";

const tags = str.match(/\[.*?(?=\]\((.*?)\))/g).map(x => x.substring(1));
const newString = str.replace(/\[.*?\]\(.*?\)/g, () => {
return tags.shift();
});

console.log(newString)

第一步是找到所有标记的文本。换句话说,所有内容都包含在 [] 中。在上面的示例中,这将生成数组 [pic, this]

然后,我们需要用上面的每个匹配项替换整个 url bbcode(即 [xxx](http://url))。我们将数组视为一个队列,并在使用后使用 shift() 从数组中删除每个结果。

当然,此解决方案并非万无一失。它不会处理任何字符 ()[] 是标记或 URL 本身的一部分的极端情况。

关于javascript - 从 reddit 评论中删除链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50411923/

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