[英]Add leading zeros left and right of dash
我有一个输入字符串,用连字符分隔数字。 我需要左侧正好是 5 位数字。 如果小于,则添加前导零。 右边需要4位数字。 任何更少,添加前导零。
例如:
0002-800 -> 00002-0800
0001-0800 -> 00001-0800
12345-220 -> 12345-0220
最好的方法是在 - 字符上拆分字符串,然后使用 PadLeft 函数吗?
我需要左侧正好是 5 位数字。 如果小于,则添加前导零。 右边需要4位数字。 任何更少,添加前导零。
如果我需要将左侧填充为 8 位数字,在左侧填充为 3 位数字在右侧等或任何其他组合,那么是否可以轻松更改 Select Project
一般写成:
private void button1_Click(object sender, EventArgs e)
{
String input = "12345-12";
String output = PadColumns(input, '-', '0', new int[] {8,3});
Console.WriteLine(input);
Console.WriteLine(output);
}
private String PadColumns(String input, char delimiter, char paddingChar, int[] columnWidths)
{
String[] values = input.Split(new char[] {delimiter});
for(int i=0; i<values.Length; i++)
{
if (i<columnWidths.Length)
{
values[i] = values[i].PadLeft(columnWidths[i], paddingChar);
}
}
return String.Join(delimiter.ToString(), values);
}
如果您经常使用该代码,则可以将其转换为扩展方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.