我在SSRS中有一个子报表,它返回HTML标记中嵌入的文本。我想知道是否有一种剥离这些HTML标记的方法,以便只有文本。我正在使用VS 2008。
我尝试使用如下的正则表达式函数来剥离HTML标记,但这不起作用:
Shared FUNCTION RemoveHtml(ByVal Text As String) AS String
IF Text IsNot Nothing Then
Dim mRemoveTagRegex AS NEW System.Text.RegularExpressions.Regex(“<(.|\n)+?>”)
Return mRemoveTagRegex.Replace(text, "")
End If
end function
您可以使用SSRS提供的内置函数组合来完成您的需要。我建议将Mid
与InStr
结合起来。以下表达式将采用开始HTML标记的最后一个字符与结束HTML标记的第一个字符之间的值。
=MID(Fields!Field.Value,
InStr(Fields!Field.Value, ">") + 1,
InStrRev(Fields!Field.Value, "</")
-Len(Left(Fields!Field.Value,
InStr(Fields!Field.Value, ">") + 1)))
编辑:它比我想象的要复杂一些,但这应该可以解决问题。