![](/img/trans.png)
[英]How to retrieve characters starting from a specific string until last array of characters
[英]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);
如您所見,這適用於row1
和row2
。
你可以使用正則表達式來得到這個
([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.