工作中处理文本数据时,经常要批量修改某些字符。比如把文档里的全角括号改成半角,或者把多余的空格清理掉。这时候,掌握几种字符串替换字符方法,能省下大量手动操作的时间。
基础替换:find and replace
最简单的就是用文本编辑器自带的查找替换功能。像记事本、VS Code、Sublime Text 都支持 Ctrl+H 打开替换面板。输入原字符和目标字符,一键全部替换。
比如要把一段日志里的 ERROR 全部改成 [错误],直接在替换框填好内容,点“全部替换”就行。
命令行下的批量处理
如果要处理几十个文件,用命令行更高效。Linux 或 macOS 下可以用 sed 命令:
sed -i 's/old_string/new_string/g' filename.txt
这行命令会把 filename.txt 里所有的 old_string 替换成 new_string。Windows 用户可以用 PowerShell 实现类似效果:
(Get-Content file.txt) -replace '原文','替换成的内容' | Set-Content file.txt
编程中的字符串替换
写脚本处理数据时,Python 的 str.replace() 最常用:
text = "你好,世界!"
new_text = text.replace("世界", "朋友")
print(new_text) # 输出:你好,朋友!
JavaScript 也类似:
let str = "apple, banana, cherry";
let newStr = str.replace(/,/g, ';');
console.log(newStr); // 输出:apple; banana; cherry
正则表达式进阶替换
有些场景普通替换搞不定。比如想把所有日期格式从 2024-04-05 改成 05/04/2024,就得靠正则。
在 VS Code 中开启正则模式(点击 .* 按钮),查找输入:
(\d{4})-(\d{2})-(\d{2})
替换为:
$3/$2/$1
这样就能自动调换年月日顺序。Excel 里也可以用 SUBSTITUTE 函数嵌套完成多层替换。
实际应用场景
上周整理客户名单,导出的 CSV 文件里电话号码都带 +86 前缀,导入系统不识别。用 Excel 的查找替换,把 +86 全部替换成空,几分钟就搞定几百条数据。
还有次处理网页代码,要把所有 <br> 标签换成换行符 \n,用 Notepad++ 的正则替换一次性完成。
这些字符串替换字符方法,看似小技巧,用对了地方特别提效。工具不在多,熟练才是关键。