标题: [文本处理] 批处理 变量的 两边的引号如何去掉? [打印本页]
作者: kosoft 时间: 2018-5-19 16:33 标题: 批处理 变量的 两边的引号如何去掉?
批处理 字符变量的 两边的引号如何去掉?
set str="string"
Echo %str%|Findstr /I /R "^"".*""$" >nul&&Set "str=%str:~1,-1%"
本论坛里面 有人给出的 正则表达式 语句,这个无任何输出,求教!~
作者: Batcher 时间: 2018-5-19 19:20
变量赋值的时候为什么要那样加引号呢?这样就好了吧:复制代码
作者: tiandyoin 时间: 2023-2-24 11:01
回复 1# kosoft - set "var="1^"2^"3""
- echo.sA0=%var%
- echo %var% | findstr /i /r "^"".*""$" > nul && set "var=%var:~1,-1%"
- echo.sA0=%var%
-
- set var="1"2"3
- echo.sA1=%var%
- echo %var% | findstr /i /r "^"".*""$" > nul && set "var=%var:~1,-1%"
- echo.sA1=%var%
-
- set var=1"2"3"
- echo.sA2=%var%
- echo %var% | findstr /i /r "^"".*""$" > nul && set "var=%var:~1,-1%"
- echo.sA2=%var%
-
- set var=1"2"3
- echo.sA3=%var%
- echo %var% | findstr /i /r "^"".*""$" > nul && set "var=%var:~1,-1%"
- echo.sA3=%var%
-
- set var="123
- echo.sA4=%var%
- echo %var% | findstr /i /r "^"".*""$" > nul && set "var=%var:~1,-1%"
- echo.sA4=%var%
-
- set var=123"
- echo.sA5=%var%
- echo %var% | findstr /i /r "^"".*""$" > nul && set "var=%var:~1,-1%"
- echo.sA5=%var%
-
- set var=1"23
- echo.sA6=%var%
- echo %var% | findstr /i /r "^"".*""$" > nul && set "var=%var:~1,-1%"
- echo.sA6=%var%
-
- set var=12"3
- echo.sA7=%var%
- echo %var% | findstr /i /r "^"".*""$" > nul && set "var=%var:~1,-1%"
- echo.sA7=%var%
-
- set var=123
- echo.sA8=%var%
- echo %var% | findstr /i /r "^"".*""$" > nul && set "var=%var:~1,-1%"
- echo.sA8=%var%
-
- set var=""
- echo.sA9=%var%
- echo %var% | findstr /i /r "^"".*""$" > nul && set "var=%var:~1,-1%"
- echo.sA9=%var%
-
- set var="
- echo.sA91=%var%
- echo %var% | findstr /i /r "^"".*""$" > nul && set "var=%var:~1,-1%"
- echo.sA91=%var%
-
- set var=
- echo.sA92=%var%
- echo %var% | findstr /i /r "^"".*""$" > nul && set "var=%var:~1,-1%"
- echo.sA92=%var%
复制代码
- sA0="1"2"3"
- sA0=1"2"3
- sA1="1"2"3
- sA1=1"2"
- sA2=1"2"3"
- sA2="2"3
- sA3=1"2"3
- sA3=1"2"3
- sA4="123
- sA4=12
- sA5=123"
- sA5=23
- sA6=1"23
- sA6="2
- sA7=12"3
- sA7=2"
- sA8=123
- sA8=123
- sA9=""
- sA9=
- sA91="
- sA91=
- sA92=
- sA92=
复制代码
还是有 bug, 变成:脱去环境变量 var 串中最外层一对引号及引号外侧的内容;
作者: tiandyoin 时间: 2023-2-24 17:04
回复 kosoft 还是有 bug, 变成:脱去环境变量 var 串中最外层一对引号及引号外侧的内容;
tiandyoin 发表于 2023-2-24 11:01
这下完美解决了,只是双引号太多了,我自己也无法解释~~- @echo off
-
- cd.
- echo.error=%errorlevel%
- set "var="1^"2^"3""
- echo.sA0=%var%
- echo "%var%%var%"| findstr /i /r "^"""""".*""""""$" > nul && set "var=%var:~1,-1%"
- rem echo "%var%%var%"| findstr /i /r "^"""""".*""""""$" > nul && set "var=%var:~1,-1%"
- echo.sA0=%var%
- echo.error=%errorlevel%
-
-
- cd.
- echo.error=%errorlevel%
- set var="1"2"3
- echo.sA1=%var%
- echo "%var%%var%"| findstr /i /r "^"""""".*""""""$" > nul && set "var=%var:~1,-1%"
- rem > nul && set "var=%var:~1,-1%"
- echo.sA1=%var%
- echo.error=%errorlevel%
-
- cd.
- echo.error=%errorlevel%
- set var=1"2"3"
- echo.sA2=%var%
- echo "%var%%var%"| findstr /i /r "^"""""".*""""""$" > nul && set "var=%var:~1,-1%"
- echo.sA2=%var%
- echo.error=%errorlevel%
-
- cd.
- echo.error=%errorlevel%
- set var=1"2"3
- echo.sA3=%var%
- echo "%var%%var%"| findstr /i /r "^"""""".*""""""$" > nul && set "var=%var:~1,-1%"
- echo.sA3=%var%
- echo.error=%errorlevel%
-
- cd.
- echo.error=%errorlevel%
- set var="123
- echo.sA4=%var%
- echo "%var%%var%"| findstr /i /r "^"""""".*""""""$" > nul && set "var=%var:~1,-1%"
- echo.sA4=%var%
- echo.error=%errorlevel%
-
- cd.
- echo.error=%errorlevel%
- set var=123"
- echo.sA5=%var%
- echo "%var%%var%"| findstr /i /r "^"""""".*""""""$" > nul && set "var=%var:~1,-1%"
- echo.sA5=%var%
- echo.error=%errorlevel%
-
- cd.
- echo.error=%errorlevel%
- set var=1"23
- echo.sA6=%var%
- echo "%var%%var%"| findstr /i /r "^"""""".*""""""$" > nul && set "var=%var:~1,-1%"
- echo.sA6=%var%
- echo.error=%errorlevel%
-
- cd.
- echo.error=%errorlevel%
- set var=12"3
- echo.sA7=%var%
- echo "%var%%var%"| findstr /i /r "^"""""".*""""""$" > nul && set "var=%var:~1,-1%"
- echo.sA7=%var%
- echo.error=%errorlevel%
-
- cd.
- echo.error=%errorlevel%
- set var=123
- echo.sA8=%var%
- echo "%var%%var%"| findstr /i /r "^"""""".*""""""$" > nul && set "var=%var:~1,-1%"
- echo.sA8=%var%
- echo.error=%errorlevel%
-
- cd.
- echo.error=%errorlevel%
- set var=""
- echo.sA9=%var%
- echo "%var%%var%"| findstr /i /r "^"""""".*""""""$" > nul && set "var=%var:~1,-1%"
- echo.sA9=%var%
- echo.error=%errorlevel%
-
- cd.
- echo.error=%errorlevel%
- set var="
- echo.sA91=%var%
- echo "%var%%var%"| findstr /i /r "^"""""".*""""""$" > nul && set "var=%var:~1,-1%"
- echo.sA91=%var%
- echo.error=%errorlevel%
-
- cd.
- echo.error=%errorlevel%
- set var=
- echo.sA92=%var%
- echo "%var%%var%"| findstr /i /r "^"""""".*""""""$" > nul && set "var=%var:~1,-1%"
- echo.sA92=%var%
- echo.error=%errorlevel%
-
- rem 正则替换两边的双引号,精准定位,不会误删。
-
-
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |