【发布时间】:2014-10-23 15:13:06
【问题描述】:
我已经在这里实现了对字符串进行令牌替换的答案: https://stackoverflow.com/a/1231815/1224021
我现在的问题是当这个方法找到一个值不在字典中的标记时。我收到异常“字典中不存在给定的键”。并返回正常的字符串。我显然希望发生的事情是所有好的令牌都被替换,但有问题的令牌仍然是自然的。猜猜我需要做一个循环与单行正则表达式替换?使用 vb.net。这是我目前正在做的事情:
Shared ReadOnly re As New Regex("\$(\w+)\$", RegexOptions.Compiled)
Public Shared Function GetTokenContent(ByVal val As String) As String
Dim retval As String = val
Try
If Not String.IsNullOrEmpty(val) AndAlso val.Contains("$") Then
Dim args = GetRatesDictionary()
retval = re.Replace(val, Function(match) args(match.Groups(1).Value))
End If
Catch ex As Exception
' not sure how to handle?
End Try
Return retval
End Function
【问题讨论】:
-
在哪一行抛出异常?
标签: regex vb.net dictionary replace token