gpt4 book ai didi

javascript - 使用正则表达式从字符串中提取特定字符

转载 作者:行者123 更新时间:2023-11-28 11:23:35 25 4
gpt4 key购买 nike

我需要拆分一个电子邮件地址并取出第一个字符和“@”之后的第一个字符

我可以按如下方式执行此操作:

'bar@foo'.split('@').map(function(a){ return a.charAt(0); }).join('')
--> bf

现在我想知道是否可以使用正则表达式匹配来完成,就像这样

'bar@foo'.match(/^(\w).*?@(\w)/).join('')
--> bar@fbf

这并不是我想要的,但我确信我错过了一些东西!有什么建议吗?

最佳答案

为什么要使用正则表达式?只需使用 indexOf 即可获取任意给定位置的字符:

var addr = 'foo@bar';
console.log(addr[0], addr[addr.indexOf('@')+1])

为了确保您的代码适用于所有浏览器,您可能需要使用 charAt 而不是 []:

console.log(addr.charAt(0), addr.charAt(addr.indexOf('@')+1));

无论哪种方式,它都会工作得很好,并且 This is undeniably the fastest approach
如果您要坚持并选择一个正则表达式,那么您应该意识到match方法返回一个包含3个字符串的数组,在您的情况下:

/^(\w).*?@(\w)/
["the whole match",//start of string + first char + .*?@ + first string after @
"groupw 1 \w",//first char
"group 2 \w"//first char after @
]

所以 addr.match(/^(\w).*?@(\w)/).slice(1).join('') 可能就是您想要的。

关于javascript - 使用正则表达式从字符串中提取特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24403966/

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