如何删除每行特定文本前的内容 提取oauth格式中的token值
多软件适配的Token提取实现方法
所有方法均适配非固定长度的前置内容,不需要按位置截取,兼容性覆盖绝大多数常用工具:
通用核心逻辑
不管用什么工具,核心逻辑都是匹配每行最后一个冒号后的所有内容,或者匹配固定前缀username:oauth:后直接删除,两种规则都可以适配所有场景。
- 文本编辑器(VS Code、Sublime Text、Notepad++等通用编辑器)
- 打开替换面板(默认快捷键
Ctrl+H),开启正则匹配模式 - 查找内容输入
^.*:,替换内容留空,点击全部替换即可直接提取所有Token。如果只需要删除固定的:oauth:前缀,也可以把查找内容换成^.*:oauth:,匹配更精准
- 打开替换面板(默认快捷键
- Office/WPS 表格
假设原始数据存放在A列,在B1单元格输入以下任意一个公式后下拉填充即可:- 通用公式(适配任意段数的冒号分隔内容):
=RIGHT(A1,LEN(A1)-FIND("~",SUBSTITUTE(A1,":","~",LEN(A1)-LEN(SUBSTITUTE(A1,":",""))))) - 简化公式(确定内容为三段
username:oauth:token格式时使用):=TRIM(RIGHT(SUBSTITUTE(A1,":",REPT(" ",99)),99))
- 通用公式(适配任意段数的冒号分隔内容):
- 命令行工具
- Linux/macOS 终端:直接执行
awk -F ':' '{print $NF}' 输入文件路径 > 输出文件路径,其中$NF默认取每行最后一段冒号分隔的内容,自动适配任意前置段数 - Windows PowerShell:执行
Get-Content 输入文件路径 | ForEach-Object { $_.Split(':')[-1] } | Out-File 输出文件路径
- Linux/macOS 终端:直接执行
- Python 批量处理(适合十万行以上的大文件)
代码示例:# 读取原始文件提取Token with open("input.txt", "r", encoding="utf-8") as f: token_list = [line.strip().split(":")[-1] for line in f if line.strip()] # 写入结果到新文件 with open("output.txt", "w", encoding="utf-8") as f: f.write("\n".join(token_list)) - 在线文本处理工具
找任意支持正则替换的在线文本工具,操作逻辑和本地编辑器一致,查找框输入^.*:,替换为空即可批量生成结果,不需要安装任何软件。
内容的提问来源于stack exchange,提问作者FedeGioz
相关产品推荐
相关产品推荐

