在输出文件上应用正则表达式

湿婆瑞娜

我编写了一个 python 脚本,将所有版本转储到一个文本文件中。所有版本均以“|”分隔 象征。

我需要用以下条件替换所有以 3 开头的版本

例如 1) 3.7.0E 应替换为 03.07.00E 2) 3.17.1E 应替换为 03.17.01E

所有单数数字都应替换为 0

我的输出文件看起来像

3.7.0E | 3.7.1E | 3.7.2E | 3.7.3E | 3.7.4E | 3.7.5E | 16.2.1 | 16.2.2 | 3.8.0E | 16.3.1 | 16.3.2 | 16.3.3.3. | 1a | 16.4.1 | 16.4.2 | 3.17.1E | 3.7.11E

科林·里卡多

这并不漂亮,但它会做你想做的事:

import re

s = '3.7.0E|3.7.1E|3.7.2E|3.7.3E|3.7.4E|3.7.5E|16.2.1|16.2.2|3.8.0E|16.3.1|16.3.2|16.3.3|16.3.1a|16.4.1|16.4.2|3.17.1E|3.7.11E'

l = []

# split up based on pipe
for chunk in s.split('|'):
    if chunk.startswith('3'):
        new_chunk = ''

        # split up based on period
        for piece in chunk.split('.'):
            try:
                # if there's a letter, exception will be thrown
                x = int(piece)
                new_chunk += '0{}.'.format(x) if x < 10 else '{}.'.format(x)

            except:
                n = int(re.search('\d+', piece).group(0))
                letter = re.search('\w', piece).group(0)
                new_chunk += '0{}{}'.format(n, letter) if n < 10 else piece

        l.append(''.join(new_chunk))
    else:
        l.append(chunk)

new_s = '|'.join([p for p in l])
print(new_s)

new_swill的值是:'03.07.00E|03.07.01E|03.07.02E|03.07.03E|03.07.04E|03.07.05E|16.2.1|16.2.2|03.08.00E|16.3.1|16.3.2|16.3.3|16.3.1a|16.4.1|16.4.2|03.17.01E|03.07.11E'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用多行正则表达式awk;根据awk匹配输出文件名

来自分类Dev

Perl正则表达式匹配部分作为输出文件名

来自分类Dev

正则表达式的数字匹配并将其重定向到不同的输出文件

来自分类Dev

Windows上最简单的设置,用于发送HTTP请求,获取并将正则表达式应用于响应以及将匹配项写入输出文件

来自分类Dev

查找/替换:带有某些逻辑的正则表达式,引号–从输入文件到输出文件,单遍

来自分类Dev

正则表达式Python将输出写入文件

来自分类Dev

正则表达式“样本监视日志文件输出”

来自分类Dev

正则表达式Python将输出写入文件

来自分类Dev

正则表达式格式化文件输出

来自分类Dev

在JQ上应用正则表达式

来自分类Dev

骆驼在正则表达式上拆分CSV文件

来自分类Dev

sql文件上的正则表达式

来自分类Dev

正则表达式在多个文件上

来自分类Dev

正则表达式输出计数

来自分类Dev

Linux工具-如何计算和列出文件中正则表达式的出现

来自分类Dev

Linux工具-如何计算和列出文件中正则表达式的出现

来自分类Dev

正则表达式匹配输出文件中的最后一个和第一个数字

来自分类Dev

正则表达式上replaceAll()

来自分类Dev

正则表达式上的多行

来自分类Dev

CSS上的正则表达式

来自分类Dev

卡在正则表达式上

来自分类Dev

在正则表达式上拆分

来自分类Dev

EDI文件的正则表达式

来自分类Dev

读取文件.正则表达式

来自分类Dev

在UNIX中的sed上使用正则表达式产生意外输出

来自分类Dev

bash / sed脚本使用正则表达式从文件获取输出

来自分类Dev

如何使用 awk 在第二个文件中输出正则表达式

来自分类Dev

正则表达式从树输出中查找重复的文件名

来自分类Dev

使用正则表达式来处理日志文件:合并正则表达式

Related 相关文章

  1. 1

    用多行正则表达式awk;根据awk匹配输出文件名

  2. 2

    Perl正则表达式匹配部分作为输出文件名

  3. 3

    正则表达式的数字匹配并将其重定向到不同的输出文件

  4. 4

    Windows上最简单的设置,用于发送HTTP请求,获取并将正则表达式应用于响应以及将匹配项写入输出文件

  5. 5

    查找/替换:带有某些逻辑的正则表达式,引号–从输入文件到输出文件,单遍

  6. 6

    正则表达式Python将输出写入文件

  7. 7

    正则表达式“样本监视日志文件输出”

  8. 8

    正则表达式Python将输出写入文件

  9. 9

    正则表达式格式化文件输出

  10. 10

    在JQ上应用正则表达式

  11. 11

    骆驼在正则表达式上拆分CSV文件

  12. 12

    sql文件上的正则表达式

  13. 13

    正则表达式在多个文件上

  14. 14

    正则表达式输出计数

  15. 15

    Linux工具-如何计算和列出文件中正则表达式的出现

  16. 16

    Linux工具-如何计算和列出文件中正则表达式的出现

  17. 17

    正则表达式匹配输出文件中的最后一个和第一个数字

  18. 18

    正则表达式上replaceAll()

  19. 19

    正则表达式上的多行

  20. 20

    CSS上的正则表达式

  21. 21

    卡在正则表达式上

  22. 22

    在正则表达式上拆分

  23. 23

    EDI文件的正则表达式

  24. 24

    读取文件.正则表达式

  25. 25

    在UNIX中的sed上使用正则表达式产生意外输出

  26. 26

    bash / sed脚本使用正则表达式从文件获取输出

  27. 27

    如何使用 awk 在第二个文件中输出正则表达式

  28. 28

    正则表达式从树输出中查找重复的文件名

  29. 29

    使用正则表达式来处理日志文件:合并正则表达式

热门标签

归档