如何从另一个字符串生成指定长度的字符串c#

How to make string of specified length from another string c#

例如我有这样的字符串:

"5", "8", "14", "260"

我想得到这样的结果:

"ST00000005", "ST00000008", "ST00000014", "ST00000260"

结果字符串长度为 10 个字符。我该怎么做?

你可以这样做

string s = "215";
s = s.PadLeft(8, '0').PadLeft(9,'T').PadLeft(10,'S'); 

我会将其存储为 int 而不是字符串。然后您可以使用 ToString 和适当的格式说明符 D8。那有 f.e。可以增加数量的好处:

int number = 5;
string result = String.Format("ST{0}", number.ToString("D8"));

或没有 ToString 但只有 String.Format:

string result = String.Format("ST{0:D8}", number);

阅读:Standard Numeric Format Strings especially Decimal ("D") Format Specifier

如果您需要将字符串转换为 int,请使用 int.Parseint.TryParse

为了完整起见,如果必须使用字符串,请使用 String.PadLeft(8, '0'):

string numStr = "5";
String result = String.Format("ST{0}", numStr.PadLeft(8, '0'));
int number = 5; // put the number here

string result = $"ST{number:0000000#}";

// Or:

string result = $"ST{number:D8}";

这正是您想要的。

编辑:请记住,这仅在 C#6 中可行

使用 string.Format() together with a custom format 字符串。