当前位置:  开发笔记 > 编程语言 > 正文

正则表达式将新行插入特定位置的大块文本

如何解决《正则表达式将新行插入特定位置的大块文本》经验,为你挑选了2个好方法。

我有一个相当大的文本文件,有一堆缺少的换行符,这意味着它是一个烂摊子.我需要将其分解为适当的行.

文本现在看起来像这样:

12345 This is a chunk 23456 This is another chunk 34567 This is yet another chunk 45678 This is yet more chunk 56789 Yet another piece of text

我需要一个正则表达式,它将在每组五位数之前插入一个换行符(CR/LF对),结果如下:

12345 This is a chunk 
23456 This is another chunk 
34567 This is yet another chunk 
45678 This is yet more chunk 
56789 Yet another piece of text

它可以在第一组数字之前插入一个数字; 我可以处理.

有任何想法吗?谢谢.



1> user54650..:

非常简单(但不是尽可能"浮华",因为我懒得使用前瞻):

s/(\d{5})/\r\n\1/gs



2> jfs..:
s/(?<=\D)(\d{5})(?=\D|$)/\n\1/g

在"\n"与"\ r \n"之间

它可能取决于手头的编程语言,但在Windows上用Perl和Python代替\n,\r\n因此在这种情况下\n,\r\n在上面的正则表达式中替换它是错误的.

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有