Javascript 我必须在一个特定的字符之后获得一行中的字符
例如,我的字符串是:Javascript 我必须在一个特定的字符之后获得一行中的字符,javascript,Javascript,例如,我的字符串是: "Hi @randomperson !! how are you?" 如果我必须让所有字符从@开始到感叹号之前的空格 感谢您的帮助:)请使用: 正斜杠(/)是正则表达式文字分隔符 @匹配单个@字符 \S+匹配一个或多个非空白字符 就这样 有关JavaScript中正则表达式的更多信息: 我应该这样做。它将返回null或第一个元素为匹配字符串的数组 前导 \b>代码>将停止它在电子邮件地址中间的匹配,因此它将不匹配 "randomperson@example.com"
"Hi @randomperson !! how are you?"
如果我必须让所有字符从@
开始到感叹号之前的空格
感谢您的帮助:)请使用:
- 正斜杠(
)是正则表达式文字分隔符/
匹配单个@
字符@
匹配一个或多个非空白字符\S+
null
或第一个元素为匹配字符串的数组
前导<代码> \b>代码>将停止它在电子邮件地址中间的匹配,因此它将不匹配
"randomperson@example.com"
像这样的
var text = "Hi @randomperson !! how are you?";
var userID = text.match(/@(.*)(?=\s!!)/)[1];
使用以下命令:
var txt = ((new RegExp("@[\w\s]*")).exec(your_string)[0] || '')
这将使用regexp检查您的字符串,如果未找到匹配项,将导致空字符串。您可以使用正则表达式:使用空格作为分隔符拆分,检查每个标记上的第一个字符“@”。正则表达式在这方面应该很有用。实际上问题是我不知道怎么做。你能帮帮我吗。对不起,我是新手实际上,它会打印“randomperson”@MattBall,括号中的目标是什么?这很有效!我会在几分钟内接受你的答案(它不允许我现在接受它:P)方式过于复杂的regexp,IMO@MattBall当然,它可能是
/@\w*/
,但OP指定了“到感叹号前的空格”。因此,我认为!!是命令结尾的一个神奇数字。@Joseph:我想他只是想指出这个例子中的哪个空格。。。但OP更清楚。
var text = "Hi @randomperson !! how are you?";
var userID = text.match(/@(.*)(?=\s!!)/)[1];
var txt = ((new RegExp("@[\w\s]*")).exec(your_string)[0] || '')