嘿我正在寻找一种方法来执行以下操作来填充文本文件
如果我需要填写字段大小为20的字母数字列,并且我只有18个字符来附加两个空白值。
然后,如果字段大小为10,则数字值相同,并且我有5个字符的值,以填充5 0的剩余空格
,而不是10000我会有0000010000
答案 0 :(得分:2)
The PadLeft
method应该做到这一点。像这样:
var output = myTextString.PadLeft(20);
或
var output = myNumericString.PadLeft(10, '0');
答案 1 :(得分:2)
string s = "10000";
string t = s.PadLeft(20, '0');
答案 2 :(得分:1)
这里有一些应该这样做的伪代码:
int size = mystring.length();
int padding = 20 - size;
string pad = "";
for(padding){
pad += "0";
}
string newstring = pad + mystring;
答案 3 :(得分:1)
答案 4 :(得分:-1)
OP意味着字符串长度会有所不同,所以这里有一个Func,你不需要硬代码值,如“10”或“20”
Func<string, int, string> PadStringToSize = (x,y)
=> (x.Length < y ? x.PadLeft(y, '0') : x);
然后您可以执行以下操作:
Console.WriteLine(PadStringToSize("10000", 10)); // Pads to 10
Console.WriteLine(PadStringToSize("10000", 30)); // Pads to 30
然后你可以将调用包装成一个方法,该方法将大小作为参数,而不是硬编码所需的长度。