Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我必须在一个特定的字符之后获得一行中的字符_Javascript - Fatal编程技术网

Javascript 我必须在一个特定的字符之后获得一行中的字符

Javascript 我必须在一个特定的字符之后获得一行中的字符,javascript,Javascript,例如,我的字符串是: "Hi @randomperson !! how are you?" 如果我必须让所有字符从@开始到感叹号之前的空格 感谢您的帮助:)请使用: 正斜杠(/)是正则表达式文字分隔符 @匹配单个@字符 \S+匹配一个或多个非空白字符 就这样 有关JavaScript中正则表达式的更多信息: 我应该这样做。它将返回null或第一个元素为匹配字符串的数组 前导 \b>代码>将停止它在电子邮件地址中间的匹配,因此它将不匹配 "randomperson@example.com"

例如,我的字符串是:

"Hi @randomperson !! how are you?"
如果我必须让所有字符从
@
开始到感叹号之前的空格

感谢您的帮助:)

请使用:

  • 正斜杠(
    /
    )是正则表达式文字分隔符
  • @
    匹配单个
    @
    字符
  • \S+
    匹配一个或多个非空白字符
就这样

有关JavaScript中正则表达式的更多信息:

我应该这样做。它将返回
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] || '')