用空格替换前导零

2024-03-29 14:54:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含多个记录的文本文件。每个记录都有一个字段,其中有一些前导零,我需要用该数量的空格替换。记录如下所示:

A206   000001204   X4609

我需要唱片看起来像这样:

^{pr2}$

我对regex非常陌生,但是下面的regex似乎找到了我需要的匹配项:

\b0+

不过,我不知道该怎么办。Notepad++的ReplaceAll会很棒,但如果需要,我也可以用C、Powershell或Python创建一个快速程序。有人能给我一些关于正则表达式的提示吗?在


Tags: 数量记录b0regex空格文本文件唱片前导
3条回答

使用核电站:

  • Ctrl+H
  • 查找内容:\b0
  • 替换为:(空格)
  • 全部替换

这个够了吗?在

while (dataString.Contains(" 0")) // while data contains a zero after a space
    dataString = dataString.Replace(" 0", "  "); // Replace with two spaces

虽然这不使用正则表达式。在

我希望能帮上忙。在

是的,\b0+可能有用。在

这里使用C#中的^{} method

using System.Text.RegularExpressions;

Regex.Replace(inputString, @"\b0+", m => "".PadLeft(m.Value.Length,' '));

Replace()的最后一个参数是一个简单的lambda函数,它返回一个与匹配的0个数相同长度的字符串,但只包含空格


您可以在PowerShell中执行相同的操作,用scriptblock代替lambda函数:

^{pr2}$

相关问题 更多 >