我有 :
Dim Text = "some text here ###MONTH-3### some text here ###MONTH-2### some text here"
Dim regex = New System.Text.RegularExpressions.Regex("###MONTH[+-][0-9]###")
For Each match In regex.Matches(Text)
// What to write here ?
// So, that ###MONTH-i### gets replaced with getmonth(i)
// Therefore, final Text will be :
// Text = "some text here" + getmonth(-3) + "some text here" + getmonth(-2) + "some text here"
Next match
我想我已经正确解释了我的问题..
那么,你能帮忙吗?
最佳答案
这就是你想要的,我想。
Dim text As String = "some text here ###MONTH-3### some text here ###MONTH-2### ..."
Dim regex = New System.Text.RegularExpressions.Regex("###MONTH[+-][0-9]###")
return regex.replace(text, AddressOf GetMonthFromMatch)
Function GetMonthFromMatch(ByVal m As Match) As String
' Get the matched string.
Dim matchText As String = m.ToString()
Dim offset As Int = Integer.Parse(matchText.Right(2))
Return getmonth(offset)
End Function
这使用
GetMonthFromMatch
委托(delegate)处理每场比赛,然后调用getmonth
功能。 RegEx.Replace
函数将使用委托(delegate)替换每个匹配项。
关于.net - 如何从 vb.net 中的正则表达式匹配中获取字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6898740/