Vb.net,用占位符替换字符串末尾的任意数字
Vb.net, replace any number at the end of a string with a placeholder
我有很多字符串末尾都有数字。数字可以是任意大小,例如:
myvar123
mysecondvar3
mythirdvar219107
字符串甚至可以在名称中包含数字,而不仅仅是在末尾。
例如:
my2varable123
some123variable9480395
我需要用占位符替换 END 处的任何数字。 (不是变量名中的那些。)
例如:
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)
我有很多字符串末尾都有数字。数字可以是任意大小,例如:
myvar123
mysecondvar3
mythirdvar219107
字符串甚至可以在名称中包含数字,而不仅仅是在末尾。 例如:
my2varable123
some123variable9480395
我需要用占位符替换 END 处的任何数字。 (不是变量名中的那些。)
例如:
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)