2024-03-29 14:54:55 发布
网友
我有一个包含多个记录的文本文件。每个记录都有一个字段,其中有一些前导零,我需要用该数量的空格替换。记录如下所示:
A206 000001204 X4609
我需要唱片看起来像这样:
我对regex非常陌生,但是下面的regex似乎找到了我需要的匹配项:
\b0+
不过,我不知道该怎么办。Notepad++的ReplaceAll会很棒,但如果需要,我也可以用C、Powershell或Python创建一个快速程序。有人能给我一些关于正则表达式的提示吗?在
使用核电站:
\b0
这个够了吗?在
while (dataString.Contains(" 0")) // while data contains a zero after a space dataString = dataString.Replace(" 0", " "); // Replace with two spaces
虽然这不使用正则表达式。在
我希望能帮上忙。在
是的,\b0+可能有用。在
这里使用C#中的^{} method:
C#
using System.Text.RegularExpressions; Regex.Replace(inputString, @"\b0+", m => "".PadLeft(m.Value.Length,' '));
Replace()的最后一个参数是一个简单的lambda函数,它返回一个与匹配的0个数相同长度的字符串,但只包含空格
Replace()
0
您可以在PowerShell中执行相同的操作,用scriptblock代替lambda函数:
PowerShell
scriptblock
使用核电站:
\b0
(空格)
这个够了吗?在
虽然这不使用正则表达式。在
我希望能帮上忙。在
是的,
\b0+
可能有用。在这里使用} method :
C#
中的^{Replace()
的最后一个参数是一个简单的lambda函数,它返回一个与匹配的0
个数相同长度的字符串,但只包含空格您可以在
^{pr2}$PowerShell
中执行相同的操作,用scriptblock
代替lambda函数:相关问题 更多 >
编程相关推荐