回答:
少なくとも3つの方法:
var result = /[^/]*$/.exec("foo/bar/test.html")[0];
...これは[^/]*
、文字列の最後に「スラッシュを含まない一連の文字をつかむ」()と表示します($
)。次に、返された一致オブジェクトからインデックスを作成して、一致した文字を取得します([0]
); 一致オブジェクトでは、最初のエントリは一致した文字列全体です。キャプチャグループは必要ありません。
lastIndexOf
とsubstring
:var str = "foo/bar/test.html";
var n = str.lastIndexOf('/');
var result = str.substring(n + 1);
lastIndexOf
文字列内で最後に出現した文字(文字列)のインデックスを検索し、見つからない場合は-1を返します。10回のうち9回は、その戻り値(if (n !== -1)
)を確認する必要がありますが、上記では1を追加して部分文字列を呼び出しているため、最終的str.substring(0)
に文字列を返すだけです。
Array#split
SudhirとTom Waltersはこことここでこれをカバーしていますが、完全を期すためです。
var parts = "foo/bar/test.html".split("/");
var result = parts[parts.length - 1]; // Or parts.pop();
split
指定された区切り文字を使用して文字列を分割し、配列を返します。
lastIndexOf
/ substring
ソリューションは、おそらく(1は必ずエンジンが互いにので、根本的に変化するので、JavaScriptとパフォーマンスについては何も言って注意する必要があるが)最も効率的な、しかし、あなたは、ループ内での時間のこの何千ものをやっていない限り、それはdoesnの問題ではないので、コードを明確にするために努力します。
jQueryは必要ありません。たとえば、jQueryを実行する方法はたくさんあります。
var parts = myString.split('/');
var answer = parts[parts.length - 1];
myStringには文字列が含まれます。
試してみてください。
var str = "foo / bar / test.html"; var tmp = str.split( "/"); alert(tmp.pop());
軽い重さ
string.substring(start,end)
どこ
start = Required
。抽出を開始する位置。最初の文字はインデックス0`にあります。
end = Optional
。抽出を終了する位置(最大、ただし含まない)。省略すると、残りの文字列が抽出されます。
var string = "var1/var2/var3";
start = string.lastIndexOf('/'); //console.log(start); o/p:- 9
end = string.length; //console.log(end); o/p:- 14
var string_before_last_slash = string.substring(0, start);
console.log(string_before_last_slash);//o/p:- var1/var2
var string_after_last_slash = string.substring(start+1, end);
console.log(string_after_last_slash);//o/p:- var3
または
var string_after_last_slash = string.substring(start+1);
console.log(string_after_last_slash);//o/p:- var3
質問で必要に応じて::
var string1= "foo/bar/test.html";
if(string1.contains("/"))
{
var string_parts = string1.split("/");
var result = string_parts[string_parts.length - 1];
console.log(result);
}
そして、URLで尋ねられた質問( '='の1つの出現について尋ねられました)::
[ http://stackoverflow.com/questions/24156535/how-to-split-a-string-after-a-particular-character-in -jquery] [1]
var string1= "Hello how are =you";
if(string1.contains("="))
{
var string_parts = string1.split("=");
var result = string_parts[string_parts.length - 1];
console.log(result);
}
これを試して:
const url = "files/images/gallery/image.jpg";
console.log(url.split("/").pop());