如何从javascript中提取字符串

如何从javascript中提取字符串,javascript,ecmascript-6,Javascript,Ecmascript 6,给定的字符串类似于const testString='hello people@ppshein1@gmail.com @ppshein2@gmail.com'; 但是我想转换成['@ppshein1@gmail.com', '@ppshein2@gmail.com“]然后这样做: function getString() { const str = 'hello people, @ppshein1@gmail.com @ppshein2@gmail.com'; var n = str.s

给定的字符串类似于
const testString='hello people@ppshein1@gmail.com @ppshein2@gmail.com';

但是我想转换成
['@ppshein1@gmail.com', '@ppshein2@gmail.com“]
然后这样做:

function getString() {
  const str = 'hello people, @ppshein1@gmail.com @ppshein2@gmail.com';
  var n = str.slice(str.indexOf('@'), str.length);
  var arr = n.split(' ');
  return arr;
}

我觉得这不是开发的最佳实践,也没有错误处理。你们能建议我如何改进,以满足上述代码的es6语法,并成为最佳实践吗。谢谢。

您可以查找
@
而不是空白

var string='大家好@ppshein1@gmail.com @ppshein2@gmail.com';

console.log(string.match(/@\S+/g))您可以查找
@
而不是空白

var string='大家好@ppshein1@gmail.com @ppshein2@gmail.com';

console.log(string.match(/@\S+/g))它总是有gmail ID吗?我不这么认为。。电子邮件id部分中是否有逗号
?我觉得这很好-首先检查
@
是否存在,后面是否有文本。@DanyalSandeelo似乎是电子邮件id,但没有逗号。它是否总是有gmail id?我不这么认为。。电子邮件id部分中是否有逗号
?我觉得这很好-只需首先检查
@
是否存在,以及后面是否有文本。@DanyalSandeelo似乎是电子邮件id,但没有逗号。