簡體   English   中英

以特定方式拆分字符串JavaScript

[英]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(/\/[^\/]*$/, "");

該表達式顯示為:

  1. 抓取從/直到字符串結尾的所有內容。
  2. 中間不應有/。
  3. 一無所有

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM