use*_*683 8 regex google-apps-script
我正在尝试写一个正则表达式来获取一个人的姓氏.
var name = "My Name";
var regExp = new RegExp("\s[a-z]||[A-Z]*");
var lastName = regExp(name);
Logger.log(lastName);
Run Code Online (Sandbox Code Playgroud)
如果我理解正确\s
应该找到My
和之间的空格Name
,[a-z]||[A-Z]
将得到下一个字母,然后*
将得到其余的.如果有人能提供帮助,我将不胜感激.
acd*_*ior 17
您可以使用以下正则表达式:
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
Run Code Online (Sandbox Code Playgroud)
但是,根据您的要求,使用起来更简单.split()
:
var name = "John Smith";
var lastName = name.split(" ")[1];
Logger.log(lastName); // Smith
Run Code Online (Sandbox Code Playgroud)
或者.substring()
(如果有多个"姓氏",则有用):
var name = "John Smith Smith";
var lastName = name.substring(name.indexOf(" ")+1, name.length);
Logger.log(lastName); // Smith Smith
Run Code Online (Sandbox Code Playgroud)