Vb.net,用占位符替换字符串末尾的任何数字

时间:2018-01-22 10:32:05

标签: vb.net replace numeric

我有很多字符串,最后有数字。数字可以是任何大小,例如:

myvar123
mysecondvar3
mythirdvar219107

字符串甚至可以在名称中包含数字,而不仅仅是在结尾处。 例如:

my2varable123
some123variable9480395

我需要用占位符替换END处的任何数字。 (不是varname中的那些。)

例如:

my2varable123            should become:   my2variable%placeholder%
some123variable9480395   should become:   some123variable%placeholder%

我想到的唯一方法是使用.right()遍历字符串,如果它是数字则删除char,直到找到第一个非数字字符。然后最后添加占位符,但对于一个相当简单的问题看起来很多工作。

有更好的方法吗?

1 个答案:

答案 0 :(得分:4)

你可以使用正则表达式。

Dim str As String = "some123variable9480395"
Dim pattern As String = "\d+$"
Dim replacement As String = "%placeholder%"
Dim rgx As Regex = New Regex(pattern)
Dim result As String = rgx.Replace(str, replacement)