Google Apps脚本正则表达式,以获取人的姓氏

时间:2013-07-10 14:39:49

标签: regex google-apps-script

我正在尝试写一个正则表达式来获取一个人的姓氏。

var name = "My Name";
var regExp = new RegExp("\s[a-z]||[A-Z]*");
var lastName =  regExp(name); 
Logger.log(lastName);

如果我理解正确\s应找到MyName之间的空白区域,[a-z]||[A-Z]会得到下一个字母,那么*会得到休息。如果有人能提供帮助,我将不胜感激。

1 个答案:

答案 0 :(得分:16)

您可以使用以下正则表达式:

var name = "John Smith";
var regExp = new RegExp("(?:\\s)([a-z]+)", "gi"); // "i" is for case insensitive
var lastName = regExp.exec(name)[1];
Logger.log(lastName); // Smith

但是,根据您的要求,使用.split()

更简单
var name = "John Smith";
var lastName = name.split(" ")[1];
Logger.log(lastName); // Smith

.substring()(如果有多个“姓氏”,则非常有用):

var name = "John Smith Smith";
var lastName = name.substring(name.indexOf(" ")+1, name.length); 
Logger.log(lastName); // Smith Smith