[英]Split string JavaScript in a specific way
嗨,我想用javascript中的特定方式拆分字符串,例如字符串是否為C:/ users / Me / AppData / elastic / elastic 1.6。 我知道我可以使用split()方法拆分它,並使用pop()和shift()來獲取第一個和最后一個拆分的字符串,但我想像最后一個字符串一樣拆分它。 因此答案應類似於“ C:/ users / Me / AppData / elastic”
我是這樣做的
str.split(str.split("/").pop()).shift()
我像這樣被淘汰了
C:/users/Me/AppData/
但是我想要這樣
C:/users/Me/AppData
聽起來您要說的是要刪除路徑中的最后一個項目。 為此,您可以使用.lastIndexOf()
獲取最后一個/
位置,然后使用.slice()
直到該點不是-1
。
var str = "C:/users/Me/AppData/elastic/elastic 1.6"; var idx = str.lastIndexOf("/"); var res = str; if (idx !== -1) { res = str.slice(0, idx); } console.log(res);
或類似這樣,類似於您的嘗試,但可能會更慢:
var str = "C:/users/Me/AppData/elastic/elastic 1.6"; var res = str.split("/"); res.pop(); res = res.join("/"); console.log(res);
只要最后一項沒有出現在URL的其他任何地方,您的原始解決方案就可以工作。 否則,您只會得到第一個拆分項目之前的零件。
如果要使用正則表達式:
var str = "C:/users/Me/AppData/elastic/elastic 1.6";
str = str.replace(/\/[^\/]*$/, "");
該表達式顯示為:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.