【发布时间】:2016-12-05 02:18:47
【问题描述】:
我有一个包含多个记录的文本文件。每条记录都有一个字段,其中包含一些前导零,我需要用该数量的空格替换它们。记录将如下所示:
A206 000001204 X4609
我需要这样的记录:
A206 1204 X4609
我对正则表达式非常不熟悉,但以下正则表达式似乎找到了我需要的匹配项:
\b0+
但是,我不知道如何进行替换。 Notepad++ 的 ReplaceAll 会很棒,但如果需要,我也可以在 C#、Powershell 或 Python 中创建一个快速程序。任何人都可以给我一些关于这个正则表达式的指示吗?
【问题讨论】:
-
什么指针?你需要什么?你似乎有正则表达式,对吧?
-
这感觉就像XY problem。为什么首先要麻烦重新格式化文件?
-
并非所有文本文件都可以用正则表达式解析,否则它们会变得非常混乱。 40 多年来,我一直在解析文本文件。如果没有看到文本文件的示例,我无法给出一个很好的解决方案。
-
@nicael - 我在更换时遇到问题。我似乎不知道如何用 x 个空格替换 x 个零。
-
@BobKaufman - 生成文件的系统无法以任何其他方式生成它,并且将接受文件的系统需要它,而该字段上没有前导零。所以我需要重新格式化文件。
标签: c# python regex powershell notepad++