gpt4 book ai didi

c# - 在 C# 中,如何使用 Regex.Replace 添加前导零(如果可能)?

转载 作者:太空狗 更新时间:2023-10-29 20:52:01 26 4
gpt4 key购买 nike

我想将一定数量的前导零添加到字符串中的数字。例如:

输入:“第 1 页”,输出:“第 001 页”输入:“第 12 页”,输出:“第 012 页”输入:“第 123 页”,输出:“第 123 页”

使用 Regex.Replace 执行此操作的最佳方法是什么?

此时我使用它,但结果是 001、0012、00123。

string sInput = "page 1";
sInput = Regex.Replace(sInput,@"\d+",@"00$&");

最佳答案

Regex 替换表达式不能用于此目的。但是,Regex.Replace 有一个重载,它接受一个委托(delegate),允许您对替换进行自定义处理。在这种情况下,我正在搜索所有数值并将它们替换为填充到三个字符长度的相同值。

string input = "Page 1";
string result = Regex.Replace(input, @"\d+", m => m.Value.PadLeft(3, '0'));

旁注,我不建议在 C# 代码中使用匈牙利语前缀。它们没有提供真正的优势,并且 .Net 的通用风格指南建议不要使用它们。

关于c# - 在 C# 中,如何使用 Regex.Replace 添加前导零(如果可能)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6842396/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com