如何在VB.NET中删除两个数字之间的冒号?

Rit*_*het 2 vb.net

我有这种格式的文字:

术语:156:59 datainput

我想删除数字之间的":",然后用其他东西替换它,这样文本就可以变成:

术语:156-59 datainput

我怎么能在VB.NET中做到这一点?

Stu*_*ife 6

在VB.NET(信用Jonathan):

    Dim text As String = "term: 156:59 datainput"
    Dim fixedText As String = Regex.Replace(text, "(\d+):(\d+)", "$1-$2")
Run Code Online (Sandbox Code Playgroud)

nb:按建议删除最后两行.


Jon*_*upp 5

是的,我知道这有点笨拙,但它应该有效(假设您的数据完全符合您指定的格式):

input[input.IndexOf(":", input.IndexOf(":")+1)] = "#"
Run Code Online (Sandbox Code Playgroud)

当然,如果您想要更常规的案例来查找NUMBER:NUMBER并将其替换为NUMBER#NUMBER,我建议使用正则表达式,如下所示:

var re = new Regex(@"(\d+):(\d+)");
re.Replace(input, "$1#$2");
Run Code Online (Sandbox Code Playgroud)