首页 > 解决方案 > 从变量中删除字符串的一部分,包括带有批处理文件的模式和之后的模式

问题描述

这可能吗?

例如,假设我有一个包含以下字符串的变量:

str=This is a test - because it can be

我需要做的是能够从 %str% 变量中搜索和删除包括“空格、破折号、空格”在内的所有内容。所以,我最终会得到:

str=This is a test

我可以轻松地对单个字符执行此操作,删除或替换所述单个字符,但无法弄清楚如何使用模式执行此操作。

提前谢谢。

标签: batch-filesearchreplace

解决方案


这使用字符串替换来按您的空格分割字符串。它将变量的第一部分重新分配回 str 变量,第二部分通过使用 nul 重定向而被忽略。

@echo off
set "str=This is a test - because it can be"
(set "str=%str: - =" & set /p "=%")<nul >nul
echo %str%
pause

推荐阅读