vb.net使用前缀增加字符串

时间:2015-02-25 22:57:40

标签: vb.net string integer increment

我确定之前已经问过这个问题,但我找不到我到底想要的内容。

我有一个字符串,其中包含一个字符串,然后是破折号,然后是一个数字,例如“TERM-01”恰好是配电盘中电气终端的名称。 我想把它增加到“TERM-02”,“TERM-03”等。

我想出了这个:

TermNo = CStr(Mid(TermNo, 1, InStr(TermNo, "-")) & (CInt(Mid(TermNo, InStr(TermNo, "-") + 1, TermNo.Length - InStr(TermNo, "-")) + 1)))

这似乎工作得相当好,但我需要增加数字,包括0,所以08,09,10而不是8,9,10。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您可以使用标准的Substring方法指向数字开头的部分,将其转换为整数并添加增量。使用format specifier D2

完成使用0前缀返回数字的技巧
Dim TermNo = "TERM-01"
for i = 1 To 15
    Dim value = "TERM-" + (Convert.ToInt32( _ 
                           TermNo.SubString( _ 
                           TermNo.IndexOf("-"))) + i) _
                           .ToString("D2")
    Console.WriteLine(value)
Next

这也可以使用Regex表达式以更易读的方式编写

Dim TermNo = "TERM-01"
for i = 1 To 15
    Console.WriteLine(Regex.Replace(TermNo, "\d+", i.ToString("D2")))
Next

答案 1 :(得分:0)

如果你总是有一个短划线,只需在短划线上拆分字符串并单独处理这些部分。

https://msdn.microsoft.com/en-us/library/system.string.split%28v=vs.110%29.aspx