正则表达式 VB.Net 正则表达式.替换 [英] Regex VB.Net Regex.Replace
本文介绍了正则表达式 VB.Net 正则表达式.替换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试执行一个简单的正则表达式查找和替换,如下所述,在字符串中的一些数字之后添加一个制表符.
I'm trying to perform a simple regex find and replace, adding a tab into the string after some digits as outlined below.
来自
a/users/12345/badges
到
a/users/12345 /badges
我正在使用以下内容:
s = regex.replace(s, "(a\/users\/\d*)("a\/users\/\d*\t)", $1 $2")
但我显然做错了什么.
我哪里出错了,我知道这是一个愚蠢的错误,但我们将不胜感激.
Where am I going wrong, I know its a stupid mistake but help would be gratefully received.
VBVirg
推荐答案
您可以通过仅向前看就能找到最后一个 /
之前的位置:
You can achieve that with a mere look-ahead that will find the position right before the last /
:
Dim s As String = Regex.Replace("a/users/12345/badges", "(?=/[^/]*$)", vbTab)
输出:
a/users/12345 /badges
参见 IDEONE 演示
或者,您可以使用 LastIndexOf
o 和 Insert
:
Or, you can just use LastIndexOf
owith Insert
:
Dim str2 As String
Dim str As String = "a/users/12345/badges"
Dim idx = str.LastIndexOf("/")
If idx > 0 Then
str2 = str.Insert(idx, vbTab)
End If
这篇关于正则表达式 VB.Net 正则表达式.替换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文