C# 如何从另一个字符串c生成指定长度的字符串#
例如,我有如下字符串: “5”、“8”、“14”、“260” 我想得到如下结果: “ST00000005”、“ST00000008”、“ST00000014”、“ST00000260” 结果字符串长度为10个字符。我怎么做呢?你可以这样做C# 如何从另一个字符串c生成指定长度的字符串#,c#,string,string-length,C#,String,String Length,例如,我有如下字符串: “5”、“8”、“14”、“260” 我想得到如下结果: “ST00000005”、“ST00000008”、“ST00000014”、“ST00000260” 结果字符串长度为10个字符。我怎么做呢?你可以这样做 string s = "215"; s = s.PadLeft(8, '0').PadLeft(9,'T').PadLeft(10,'S'); 我会将它存储为int而不是字符串。然后您可以使用适当的格式说明符D8。这具有f.e.的优势,即您可以增加数量:
string s = "215";
s = s.PadLeft(8, '0').PadLeft(9,'T').PadLeft(10,'S');
我会将它存储为
int
而不是字符串。然后您可以使用适当的格式说明符D8
。这具有f.e.的优势,即您可以增加数量:
int number = 5;
string result = String.Format("ST{0}", number.ToString("D8"));
或不带ToString
但仅限于:
阅读:特别是
如果需要将字符串转换为int
请使用或int.TryParse
为完整起见,如果必须使用字符串,请使用:
这正是你想要的
编辑:请记住,这只能在C#6中与字符串一起使用。您已经尝试了什么?类似于添加“TS”,在它之后添加“0”直到字符串。长度将为10。但它对我来说并不正确,所以我想找到另一个(可能更好)的解决方案。我认为如果你展示你的代码和问题所在,你不会得到“-2”。你总是能想出一些令人兴奋的东西。从你的帖子中学到了很多。请检查我的答案@Tim,因为我认为这是C语言中更有趣的方式#6@RajeevKumar如果你使用字符串,它会更令人兴奋interpolation@Mafii:我还不可能检查C#6的特性,比如字符串插值。即使使用旧的C#,也可以使用'{0:D8}你应该提到它是一个叫做字符串插值的C#6特性。然而+1@TimSchmelter泰补充道。
string result = String.Format("ST{0:D8}", number);
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}";