10

人の姓を取得する正規表現を作成しようとしています。

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]*

4

1 に答える 1

23

次の正規表現を使用できます。

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
于 2013-07-10T14:52:28.900 に答える