我有一個字符串像'ntuser.dat ntuser.dat.log ntuser.ini test.bat test1.bat advice.20131024.98767 textdoc.txt'
我想刪除所有字符指定的字符串,直到'advice.20131024'
我怎樣才能做到這一點使用Windows批處理命令?
我還需要保存結果串中的可變
由於事先刪除字符,直到一個特定的子字符串
回答
的(a)在搜索字符串
set text=ntuser.dat ntuser.dat.log ntuser.ini test.bat test1.bat advice.20131024.98767 textdoc.txt
:loop
if "%text:~0,6%"=="advice" goto exitLoop
set text=%text:~1%
goto loop
:exitLoop
echo %text%
(b)與用於循環
@echo off
setlocal enableextensions enabledelayedexpansion
set text=ntuser.dat ntuser.dat.log ntuser.ini test.bat test1.bat advice.20131024.98767 textdoc.txt
set result=
for %%f in (%text%) do (
set x=%%f
if "!x:~0,6!"=="advice" (
set result=%%f
) else (
if not "!result!"=="" set result=!result! %%f
)
)
echo %result%
(三)看到foxidrive答案(我總是忘記)
「建議」後的'.20131024'部分也可以保存在支票中嗎?因爲給定字符串中可能有多個以'advice'開頭的子字符串 – user2907999
如果知道該值,請調整比較字符串和子字符串的長度。在這兩個示例中,您都需要將':〜0,6%'改爲':〜0,15%' –
'advice'後面的部分。實際上是當前日期。所以我得到它並將它存儲在另一個變量中。如何將該變量添加到比較中? – user2907999
這設置字符串,
將其更改爲刪除所有內容直到advice
結束,並用advice
替換它
然後回顯字符串的其餘部分。
set "string=ntuser.dat ntuser.dat.log ntuser.ini test.bat test1.bat advice.20131024.98767 textdoc.txt"
set "string=%string:*advice=advice%"
echo "%string%"
- 1. 刪除字符,直到一個特定的字符
- 2. Bash:刪除字符,直到字符串中的某個字符
- 3. 刪除一個PHP字符串中的一組特定字符
- 4. 刪除字符特定字符串
- 5. 刪除特定字符串
- 6. 刪除從一個字符開始到另一個字符的子字符串
- 7. 從一個字符串中刪除一個子字符串
- 8. PHP:如何在一個字符串中刪除特定字符
- 9. 刪除字符串中的字符,直到出現另一個字符
- 10. 刪除Python中字符串中特定子字符串前後的字符
- 11. 修剪一個字符串,直到出現特定字符
- 12. 刪除一個字符串的字符
- 13. 從字符串的第n個occurence直到一個特定的字符串讀
- 14. 獲取字符串,直到遇到一個特定類型的字符串
- 15. 從Matlab字符串中刪除一些特定的字符
- 16. 刪除一個字符在字符串
- 17. 從javascript中刪除特定字符到另一個字符串中的元素?
- 18. 刪除每個字符串末尾的特定字符
- 19. 試圖從一個字符串中刪除某個字符,直到字符串只有字符
- 20. 如何從字符串末尾刪除字符,直到達到某個字符?
- 21. 刪除最後一個子字符串
- 22. 如何刪除特定字符後的字符串中的最後一個字
- 23. 刪除Excel中的字符,直到第一個字符
- 24. 如何從字符串開始直到結尾刪除一個字符串?
- 25. 從PHP輸入字符串中刪除特定的字符串
- 26. 如何刪除字符串中的特定字符串?
- 27. PHP - 搜索字符串,然後刪除,直到該字符串
- 28. 子串直到字符串
- 29. 刪除字符串的特定部分
- 30. 刪除JTextarea中的特定字符串
您是否想要在'advice.20131024'之後刪除位? – foxidrive
是的,建議前的所有人物.20131024。 advice.20131024可以位於給定字符串中的任意位置。 – user2907999
但你想保持正確的東西? – Monacraft