如何用Python在每个数字后插入空格并转换文件中的数字串?
实现连续数字字符间添加空格的方法
以下是几种简单高效的实现方式,可根据你的使用场景选择:
1. 使用sed命令(适用于Linux/macOS命令行)
直接通过sed的替换功能完成,保留原文件的空行结构:
sed 's/./& /g; s/ $//' input.txt > output.txt
s/./& /g:将每一个字符替换为「字符+空格」s/ $//:移除行尾多余的空格input.txt是你的源文件名,output.txt是处理后的目标文件
2. 使用awk命令(适用于Linux/macOS命令行)
awk的字符串处理同样能快速完成需求:
awk '{gsub(/./,"& "); sub(/ $/,""); print}' input.txt > output.txt
gsub(/./,"& "):全局替换每个字符为「字符+空格」sub(/ $/,""):删除行尾的空格- 最后打印处理后的每一行
3. 使用Python脚本(跨平台适用)
如果需要更灵活的逻辑控制,可使用Python脚本:
with open('input.txt', 'r') as f_in, open('output.txt', 'w') as f_out: for line in f_in: # 仅移除换行符,保留空行的结构 raw_line = line.rstrip('\n') if raw_line: # 将非空行的每个字符用空格分隔 spaced_line = ' '.join(raw_line) f_out.write(spaced_line + '\n') else: # 空行直接写入 f_out.write('\n')
运行脚本后,会生成处理好的output.txt文件。
4. 在Vim编辑器中直接修改
如果习惯用Vim编辑文件,可打开文件后执行以下命令:
:%s/./& /g :%s/ $// :wq
:%s/./& /g:全局替换所有字符为「字符+空格」:%s/ $//:全局移除行尾空格:wq:保存并退出Vim,原文件会被直接修改
内容的提问来源于stack exchange,提问作者Glee
相关产品推荐
相关产品推荐

