PowerShell如何删除文件内容中括号及括号内的所有内容
PowerShell 批量删除文本行中括号及括号内内容的方案
你可以通过正则匹配+PowerShell内置的替换运算符实现需求,核心匹配规则会自动处理括号前的多余空格,替换后不会出现残留空白问题。
核心正则说明
用到的匹配规则为 \s*\(.*?\),各部分含义:
\s*:匹配括号前的0个或多个空白字符\(:转义匹配左括号(括号是正则特殊字符,需加反斜杠转义).*?:非贪婪模式匹配括号内的所有内容,确保只匹配到当前行最近的右括号\):转义匹配右括号
场景1:直接修改本地文件
将代码中的文件路径替换为你自己的文件路径即可,支持自定义编码避免乱码:
# 替换为你的实际文件路径 $targetFile = "C:\你的文件路径\demo.txt" # 读取文件+替换+写回,这里指定UTF8编码,可根据需求调整 (Get-Content $targetFile -Raw) -replace '\s*\(.*?\)', '' | Set-Content $targetFile -Encoding UTF8
如果需要先预览替换效果不修改原文件,执行以下代码:
$targetFile = "C:\你的文件路径\demo.txt" (Get-Content $targetFile -Raw) -replace '\s*\(.*?\)', ''
场景2:处理内存中的文本变量
如果你的内容已经加载到变量中,直接对变量做替换即可:
# 示例文本变量 $rawContent = @" Apple (Red) Pear Pineapple (Yellow) Orange "@ # 执行替换 $cleanContent = $rawContent -replace '\s*\(.*?\)', '' # 输出结果 $cleanContent
内容的提问来源于stack exchange,提问作者LemonDK
相关产品推荐
相关产品推荐

