我确定之前已经问过这个问题,但我找不到我到底想要的内容。
我有一个字符串,其中包含一个字符串,然后是破折号,然后是一个数字,例如“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。
有什么想法吗?
答案 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