0
我想根據分隔符/
從字符串中提取子字符串。子串提取必須是飢餓的,所以我想從字符串中獲取所有字符,直到最後的/
。例如:Win批處理腳本:從字符串中提取子字符串
字符串:/ab/bcd/casd/adsd/se/23
字符串:/ab/bcd/casd/adsd/se/
P.S:我所看到的其他QnAs和他們不回答其中最後一個分隔符發生,應被用來提取的子字符串的特定部分。
我想根據分隔符/
從字符串中提取子字符串。子串提取必須是飢餓的,所以我想從字符串中獲取所有字符,直到最後的/
。例如:Win批處理腳本:從字符串中提取子字符串
字符串:/ab/bcd/casd/adsd/se/23
字符串:/ab/bcd/casd/adsd/se/
P.S:我所看到的其他QnAs和他們不回答其中最後一個分隔符發生,應被用來提取的子字符串的特定部分。
@ECHO OFF
SETLOCAL
SET "String=/ab/bcd/casd/adsd/se/23"
FOR /f "delims=" %%a IN ("%string%") DO SET substring=%%~pa
SET "substring=%substring:\=/%"
echo %substring%
GOTO :EOF
你在細節上有點缺乏。假設涉及的字符串不包含\
,這可能適用於您。將字符串視爲文件名,刪除「名稱+擴展名」,然後將/
轉換爲\
轉換。
This works great!謝謝。 – yeniv
給出的示例不是問題,但如果字符串以驅動器號開頭,則會失敗。使用'in(「a:\ a%string%」)'然後在分配'「substring = %%〜pa」'後可以很容易地解決,用'%substring:〜2%'去除'\ a',然後將\轉換回/。 – dbenham