如何在javascript中提取特定字符串

如何在javascript中提取特定字符串,javascript,Javascript,我想知道最好的方法是在字符串中查找特定短语,然后将其后面的所有内容存储在新变量中。例如,在下列情况下: var input= "123|ABC S|peter s@xyz.com!!234|George K|george.k@xyz.com"; 预期产出为: peter s@xyz.com,george.k@xyz.com 我试过这个代码: var input= "123|ABC S|peter s@xyz.com!!234|George K|george.k@xyz.com"; var

我想知道最好的方法是在字符串中查找特定短语,然后将其后面的所有内容存储在新变量中。例如,在下列情况下:

var input= "123|ABC S|peter s@xyz.com!!234|George K|george.k@xyz.com"; 
预期产出为:

peter s@xyz.com,george.k@xyz.com
我试过这个代码:

var input= "123|ABC S|peter s@xyz.com!!234|George K|george.k@xyz.com"; 
var result = input.match(/[a-z]+/gi);
document.write(result);

要仅从输入字符串中提取电子邮件,请尝试以下操作

var input= "123|ABC S|peter s@xyz.com!!234|George K|george.k@xyz.com"; 
var result1 = input.match(/([a-zA-Z0-9._+-]+ [a-zA-Z0-9._+-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);
var result = input.match(/((\d*)+ [a-zA-Z0-9._+-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);
document.write(result1 + "," + result);

若要仅从输入字符串中提取电子邮件,请尝试以下操作

var input= "123|ABC S|peter s@xyz.com!!234|George K|george.k@xyz.com"; 
var result1 = input.match(/([a-zA-Z0-9._+-]+ [a-zA-Z0-9._+-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);
var result = input.match(/((\d*)+ [a-zA-Z0-9._+-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);
document.write(result1 + "," + result);

您也可以使用
String.Prototype.split
进行此操作

var input=“123 | ABC S | peters@xyz.com!!234 |乔治K |乔治。k@xyz.com";
var users=input.split(“!!”);
var输出=“”;
users.forEach(函数(d,i){
细节=d.分割(“|”);
输出+=详细信息[details.length-1];
if(i!==(users.length-1))
输出+=','
}
)

控制台日志(输出)您也可以使用
String.Prototype.split
进行此操作

var input=“123 | ABC S | peters@xyz.com!!234 |乔治K |乔治。k@xyz.com";
var users=input.split(“!!”);
var输出=“”;
users.forEach(函数(d,i){
细节=d.分割(“|”);
输出+=详细信息[details.length-1];
if(i!==(users.length-1))
输出+=','
}
)

控制台日志(输出)如果输入字符串的格式相同,请将其拆分并使用。var input=“123 | ABC S | peters@xyz.com!!234 |乔治K |乔治。k@xyz.com"; input=input.split(“|”)、console.log(input[2],input[4])我必须只提取字符串中的电子邮件部分:peters@xyz.com,乔治。k@xyz.com . 您能建议使用示例代码.var input=“123 | ABC S | peter吗s@xyz.com!!234 |乔治K |乔治。k@xyz.com"; input=input.split(“|”)、console.log(input[2],input[4])这段代码的输出是peters@xyz.com!!乔治。k@xyz.com预计是:彼得s@xyz.com,乔治。k@xyz.comIf输入字符串将采用相同的格式,拆分后使用。var input=“123 | ABC S | peters@xyz.com!!234 |乔治K |乔治。k@xyz.com"; input=input.split(“|”)、console.log(input[2],input[4])我必须只提取字符串中的电子邮件部分:peters@xyz.com,乔治。k@xyz.com . 您能建议使用示例代码.var input=“123 | ABC S | peter吗s@xyz.com!!234 |乔治K |乔治。k@xyz.com"; input=input.split(“|”)、console.log(input[2],input[4])这段代码的输出是peters@xyz.com!!乔治。k@xyz.com预计是:彼得s@xyz.com,乔治。k@xyz.comCan请解释此匹配(输入。匹配(/([a-zA-Z0-9.\u+-]+@[a-zA-Z0-9.\u-]+\.[a-zA-Z0-9.\u-]+)/gi);预期输出为:peters@xyz.com,乔治。k@xyz.com这个代码的结果是s@xyz.com,乔治。k@xyz.com.谢谢,我正在输入精确的输出。你能解释一下吗(input.match(/([a-zA-Z0-9.\+-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z0-9.\-]+/gi);为什么要添加两次regex yiu。检查我的更新代码,你可以得到你想要的精确输出,我得到的是精确输出谢谢,我正在试图理解你使用的regex。mark to-to-9.\-]+/gi的选项在哪里,我第一次使用它。你能解释一下这个匹配吗(输入匹配(/([a-zA-Z0-9.+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9.-]+)/gi);预计输出为:peters@xyz.com,乔治。k@xyz.com这个代码的结果是s@xyz.com,乔治。k@xyz.com.谢谢,我正在记录准确的输出,您能解释一下(输入匹配(/([a-zA-Z0-9.\u+-]+@[a-zA-Z0-9.\u-]+\.[a-zA-Z0-9.\u-]+)/gi);为什么regex yiu添加了两次。检查我的更新代码你可以得到你想要的准确输出。我得到了准确的输出。谢谢,我试图理解你使用的regex。mark回答的选项在哪里,我第一次使用它。你能解释这部分吗:users.forEach(function(d,i){details=d.split(“|”);output+=details[details.length-1];if(i!==(users.length-1))output+=','}请参阅
split
at和
forEach
at的文档。它将迭代所有元素,并通过使用|作为分隔符进行拆分来获取电子邮件,并将其附加到输出变量中。您能否解释这部分:users.forEach(函数(d,i){details=d.split('|');output+=details[details.length-1];if(i!==(users.length-1))output+=','}请参阅
split
at和
forEach
at的文档。它将迭代所有元素,并通过使用|作为分隔符进行拆分来获取电子邮件,并将其附加到输出变量