python - 在python中使用正则表达式在5位数字前插入换行符
问题描述
我有以下问题:我有一个 .txt 文件,其中包含以下方案中的信息:
ddddd name country time dddd name country time
ddddd 代表 5 位数字,代表参与者的 ID 号。到目前为止,我已经有了可用的信息:
filename = 'raw_race.txt'
new_filename = 'data_race.txt'
pattern = re.compile(r'\D(\d{5})\D')
with open(filename, 'r') as readfile, open(new_filename, 'w+') as writefile:
for line in readfile:
writefile.write(line)
if pattern.search(line):
writefile.write('\n')
这不起作用(输出文件与输入相同)而且,这会在模式之后添加段落,而不是之前。
有人看到我能做什么吗?干杯!
解决方案
for line in readfile:
writefile.write(re.sub(r'\b(\d{5})\b', '\n\\1', line))
成功了,谢谢!
推荐阅读
- julia - Julia 如何从 SymPy 求解集中获取系数
- flutter - 在 dart 中操作 StackTrace
- wpf - Giving my ContextMenu style treatment not working
- python - 从纸空间梯度笔记本连接谷歌驱动器 - ERR_CONNECTION_REFUSED
- docker - 如何更改默认 Docker 存储库以在 Dockerfile 中使用
- c# - c# 比较特定的像素颜色和图片颜色
- javascript - 从正则表达式字符串匹配创建 React 组件和状态
- javascript - 根据用户输入搜索 JSON RESTful API
- vue.js - BootstrapVue - Bootstrap CSS 被多次添加到我的 Vue 应用程序中
- android - 列表大小 + 位置太大,列表中的最后一项超出了 totalCount