猿问

如何替换字符串中我知道开头和结尾的单词,但不是整个单词?即:将 ID# 转换为名称

我正在为我创建的 Discord 机器人创建一个 Web 界面。我目前将所有用户帐户、消息等存储在 SQL 数据库中,以便 Web 界面可以拥有大量日志供 mod 使用。我目前正在尝试提出一个解决方案,用于在查看消息时将“Discord Mentions”转换为可读名称。

例如,当有人在消息中标记/提及另一个用户时,SQL 存储的不是“@name”,而是“<@!12345678>”。基于该文本如何以 <@! 我知道它正在链接一个用户名,我可以在其中访问包含所有用户的 SQL 表以检索他们的纯文本名称,但我不确定如何:

A) 特别抓住所有以 <@! 并以 > 结尾,以便能够获取查询的 ID 和 B) 替换上面的 <@!12345etc>,一旦我知道如何做 A,这很容易做到。

只是为了澄清,我不是在寻求帮助进行 SQL 查询,只是寻求帮助以获取带有 <@! 并以字符串/段落中的 > 结尾。

我对正则表达式很糟糕,所以希望有一个解决方案可以在不需要它的情况下工作哈哈。您可以提供的任何提示将不胜感激。

域名注册地址:

示例字符串:

“嘿<@!123456789> 谢谢你,我会尽快回复你。”

如何获取以 <@! 开头的整个单词 并以 > 结尾,以便能够使用它进行 SQL 查询,然后再使用 replace() 。

我想过用空格分解字符串,然后一次一个地检查每个单词,用开始和结束检查每个单词,但如果消息作者没有在提及和其余文本之间留一个空格就行不通了.


慕容3067478
浏览 114回答 2
2回答

MMTTMM

如果我正确理解这一点,您需要“<@!”之间的所有值&nbsp;和“>”。话虽如此,我相信你所需要的就是这个/<@!(.+)>/g
随时随地看视频慕课网APP
我要回答