如何从文本文件中移除非数字内容,仅保留数字(PowerShell脚本场景)
处理文本文件提取纯数字的PowerShell脚本
以下是两种适配你需求的PowerShell实现方式:
方式一:仅保留含前导空格+纯数字的行并提取数字
适配你的示例场景,精准保留每行中前导空格后的纯数字内容:
# 读取源文件,处理后写入目标文件 Get-Content "你的源文件路径.txt" | ForEach-Object { # 匹配前导空格+纯数字的行,提取数字部分 if ($_ -match '^\s*(\d+)$') { $matches[1] } } | Set-Content "清理后的文件路径.txt"
方式二:提取所有行中的连续数字串
如果文本行混杂其他非数字内容(比如你提到的高亮部分),可直接提取每行里的第一个连续数字串:
Get-Content "你的源文件路径.txt" | ForEach-Object { # 提取行内的第一个连续数字串 $extractedNum = [regex]::Match($_, '\d+').Value # 仅输出非空的数字结果 if ($extractedNum) { $extractedNum } } | Set-Content "清理后的文件路径.txt"
替换命令中的你的源文件路径.txt和清理后的文件路径.txt为实际路径即可,处理后的文件会只保留纯数字行,可直接用于后续的过期会话清理逻辑。
内容的提问来源于stack exchange,提问作者Rgoaway Pgoaway
相关产品推荐
相关产品推荐

