batch-file - 从变量中删除字符串的一部分,包括带有批处理文件的模式和之后的模式
问题描述
这可能吗?
例如,假设我有一个包含以下字符串的变量:
str=This is a test - because it can be
我需要做的是能够从 %str% 变量中搜索和删除包括“空格、破折号、空格”在内的所有内容。所以,我最终会得到:
str=This is a test
我可以轻松地对单个字符执行此操作,删除或替换所述单个字符,但无法弄清楚如何使用模式执行此操作。
提前谢谢。
解决方案
这使用字符串替换来按您的空格分割字符串。它将变量的第一部分重新分配回 str 变量,第二部分通过使用 nul 重定向而被忽略。
@echo off
set "str=This is a test - because it can be"
(set "str=%str: - =" & set /p "=%")<nul >nul
echo %str%
pause
推荐阅读
- javascript - 即使在设置标头后也出现 CORS 错误
- javascript - window moveTo 将窗口放置在 FireFox 中传递参数的一半处
- docker - 如何同时根据名称和时间修剪docker镜像
- javascript - 如何检测用户是否正在关闭浏览器或在其他网站上导航
- python - 在 openai 基线 ppo2 中实现 ASC 损失
- apache-spark - Spark worker in kubernetes cluster exits
- kdb - 运行函数时如何跳过 kdb 中的错误?
- windows - 是否有用于收集超过 260 个字符的时间戳的 robocopy 开关?
- swift - 我如何允许按钮查看应用程序中的照片?我怎样才能允许将照片保存到应用程序中?
- android - 如何从一个片段导航到另一个从堆栈中弹出当前片段?