gpt4 book ai didi

Javascript:获取以@符号开头的用户名子字符串

转载 作者:行者123 更新时间:2023-11-28 11:34:40 24 4
gpt4 key购买 nike

我正在寻找一种好方法来获取字符串中以 @ 符号开头的一个或多个用户名。

一些示例字符串可能是:

  • “@username 这只是一个测试字符串”
  • “Blabla bla @用户名,这只是一个测试字符串”
  • “@username1、@username2 和 @username_third 的消息:这只是一个测试字符串!- @username4”

有什么解决办法吗?我没能找到任何东西。

最佳答案

出现一次

要匹配单个匹配项,请使用不带任何修饰符的正则表达式,然后使用 .substr(1) 删除 @:

const myString = "Hey @username this is a test string";
const username = myString.match(/@\w+/)[0].substr(1);
// This will be "username"

注意:正则表达式中的\w相当于[A-Za-z0-9_]

多次出现

对于多次出现的情况,请使用带有 g 修饰符的正则表达式来匹配多个字符串,然后使用 .map() 方法删除 >@ 每个用户名开头的字符,使用 .substr(1) 丢弃第一个字符:

const myString = "Hey @username1 and @Username_Two, this is just a test string! @username3";
const usernames = myString.match(/@\w+/g).map(x => x.substr(1));
// This will be ["username1", "Username_Two", "username3"]

注意:我使用正则表达式 /@\w+/g 因为用户名只能包含字母、数字和下划线(至少在最常见的网站上,如 Twitter 等)。

关于Javascript:获取以@符号开头的用户名子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26452054/

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