VB.NET正则表达式替换字符串

mer*_*loo 1 regex vb.net replace

我有一个字符串,我需要在VB.Net代码中使用通配符替换.我发现我可能需要使用正则表达式,但我是新手.

我想更改以下字符串:

  • John;-4;5

  • John;20;15

  • John;-255;2

其中-4;5等是字符串的变化部分newValue

我使用标准的字符串替换,但似乎不起作用:

newString = oldString.Replace(oldString & ";" & "*" & ";" & "*", "newValue")
Run Code Online (Sandbox Code Playgroud)

非常感谢您的帮助.

aja*_*oat 5

尝试:

ResultString = Regex.Replace(SubjectString, "(-*\d+;*)+", "newValue")
Run Code Online (Sandbox Code Playgroud)

这将替换任何出现的数字(带或不带-ve符号)后跟; 或不.因此你的样本数据

John;-4;5
John;20;15
John;-255;2
John;123;234;5;32;45;543
Run Code Online (Sandbox Code Playgroud)

会变成

John;newValue
Run Code Online (Sandbox Code Playgroud)