簡體   English   中英

如何檢索特定字符串之前的最后一個字符數組

[英]How to retrieve the last array of characters before a specific string

row1: 10016/Documents/folder1/abc.pdf

row2: 10016-10017/10017/Documents/folder1/folder2/xyz.pdf

我試圖在 /Documents 之前檢索字符串,但如果之前有任何 / ,我需要在此之后檢索字符串

在第 1 行,我需要檢索 10016

在第 2 行,我需要檢索 10017

我試過

var output = filepath.split("/").slice(0,1);

您可以按 '/Documents/' 拆分,試試這個:

 let str = '10016/Documents/abc.pdf'; console.log(str.split('/Documents/')[0])

/Documents/分割,然后按/分割並獲得最終元素:

 const row1 = "10016/Documents/folder1/abc.pdf"; const row2 = "10016-10017/10017/Documents/folder1/folder2/xyz.pdf"; let docs = row1.split("/Documents/")[0]; let nums = docs.split("/"); nums = nums[nums.length - 1]; console.log(nums); docs = row2.split("/Documents/")[0]; nums = docs.split("/"); nums = nums[nums.length - 1]; console.log(nums);

如您所見,這適用於row1row2

你可以使用正則表達式來得到這個

([a-z\d]+)\/Documents

解釋正則表達式

  • 捕獲包含字母(az)或數字(/d)一次或多次出現 ( + ) 的所有內容
  • 還要確保這組字符正好位於/Documents短語之前

 let result = RegExp(/([az\\d]+)\\/Documents/).exec('10016/Documents/abc.pdf'); if (result) { console.log(result[1]) } result = RegExp(/([az\\d]+)\\/Documents/).exec('10016-10017/10017/Documents/xyz.pdf'); if (result) { console.log(result[1]) }

暫無
暫無

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

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