gpt4 book ai didi

javascript - 如何在以相同符号开头和结尾但每次之间的数字不同的文本中搜索值? NodeJS

转载 作者:行者123 更新时间:2023-12-01 01:29:16 25 4
gpt4 key购买 nike

我想搜索、查找并仅保留短信中特定字符串的数字,该值始终以 <@ 开头,以 > 结尾。它的str始终为21<@>之间的数字每次都在变化,位置不变已修复,它可以位于短信中的任何位置。

<小时/>

我现在在做什么:

if (message.content.includes('<@')) {
let numberPattern = /\d+/g;
let onlyNumbers = message.content.match(numberPattern).toString();
...

如果文本如下:

Hello <@371362419361972245> how are you?

onlyNumbers var 正确的是:

371362419361972245

但是如果文本是这样的:

Hello <@371362419361972245> h0w 4r3 y0u?

onlyNumbers 变量将是:

3713624193619722450430
<小时/>

我想要做的是只保留<@和>之间的数字。

最佳答案

正则表达式将是一个很好的应用。为了将来的引用,一个构建正则表达式的好工具是 regex101.com .

你想要的正则表达式看起来像

/<@(\d+)>/

如果您想在单个字符串中支持该模式的多个此类实例,您可以添加 g该模式末尾的标志。

确定 <@ 之间的数字和>字符,使用RegExp.prototype.exec() ,这将返回一个类似于以下内容的数组:

[
"<@371362419361972245>", // The full string that matched the pattern
"371362419361972245", // The first (and only) matching group
]

如果您想支持g标志,您将对同一个字符串多次执行相同的方法,直到返回 null。

关于javascript - 如何在以相同符号开头和结尾但每次之间的数字不同的文本中搜索值? NodeJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53452619/

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