次の文字列「/1234/ somename」があり、正規表現を使用して「somename」を抽出したいと思います。
次のコードを使用してジョブを実行できますが、RegExpで同じことを実行する方法を知りたいです。
mystring.substring(mystring.lastIndexOf("/") + 1, mystring.length)
ありがとう
次の文字列「/1234/ somename」があり、正規表現を使用して「somename」を抽出したいと思います。
次のコードを使用してジョブを実行できますが、RegExpで同じことを実行する方法を知りたいです。
mystring.substring(mystring.lastIndexOf("/") + 1, mystring.length)
ありがとう
正規表現では、次のように実行できます。
var pattern = /\/([^\/]+)$/
"/1234/somename".match(pattern);
// ["/somename", "somename"]
パターンは、/
(別の/
)に続く文字列の最後までのすべての文字に一致します$
。
ただし、おそらく.split()
代わりに次を使用します。
// Split on the / and pop off the last element
// if a / exists in the string...
var s = "/1234/somename"
if (s.indexOf("/") >= 0) {
var name = s.split("/").pop();
}
これ:
mystring.substring(mystring.lastIndexOf("/") + 1, mystring.length)
これと同等です:
mystring.replace(/.*[/]/s, '')
(「replace」という名前にもかかわらず、そのメソッドは変更されませんmystring
が、変更されたコピーを返すことに注意してくださいmystring
。)
これを試して:
mystring.match( /\/[^\/]+$/ )