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

Vb.net net中,将字符串末尾的任何数字替换为占位符,vb.net,replace,numeric,Vb.net,Replace,Numeric,我有很多字符串的末尾都有数字。数字可以是任意大小,例如: myvar123 mysecondvar3 mythirdvar219107 my2varable123 some123variable9480395 my2varable123 should become: my2variable%placeholder% some123variable9480395 should become: some123variable%placeholder% 字符串甚

我有很多字符串的末尾都有数字。数字可以是任意大小,例如:

myvar123
mysecondvar3
mythirdvar219107
my2varable123
some123variable9480395
my2varable123            should become:   my2variable%placeholder%
some123variable9480395   should become:   some123variable%placeholder%
字符串甚至可以在名称中包含数字,而不仅仅是在末尾。 例如:

myvar123
mysecondvar3
mythirdvar219107
my2varable123
some123variable9480395
my2varable123            should become:   my2variable%placeholder%
some123variable9480395   should become:   some123variable%placeholder%
我需要用占位符替换末尾的任何数字。不是varname里面的那些

例如:

myvar123
mysecondvar3
mythirdvar219107
my2varable123
some123variable9480395
my2varable123            should become:   my2variable%placeholder%
some123variable9480395   should become:   some123variable%placeholder%
我想到的唯一方法是使用.right遍历字符串,如果是数字字符,则删除该字符,直到找到第一个非数字字符。然后在最后附加占位符,但对于一个相当简单的问题来说,这看起来需要做很多工作


有更好的方法吗?

您可以使用正则表达式

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)

你可以用正则表达式来做这个

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)