2016-12-29 54 views
-4

我想从文本“使用703125 ABC:QWER => null - aaaaa.com选择一个新列”aaaaa.com“。[VBN Res ID = 745075267#1(1/2)]房间1评论:此房价中不包含餐费。“这在SSRS的1列中出现。SSRS - 从段落中选择1个词

+1

你有什么已经尝试过?什么地方出了错?您对当前和期望行为/输出的清晰描述在哪里?这个问题需要一些工作来反正,请看看[“我怎么问一个好问题?”](http://stackoverflow.com/help/how-to-ask)并编辑你的相应的问题。 – 3N1GM4

回答

0

它可能更容易输出为2列在数据集中...但如果你不能那么第二个选项将是使用VB代码。

右键单击代码后面的空白处,然后单击“Report Properties”。

然后在代码部分粘贴此:

Function SplitText(text As String, column As Int16) As String 

     If (column = 1) Then 
      Return text.Substring(0, text.Substring(0, text.IndexOf(".com") + 4).LastIndexOf(" ")) 
     Else 
      Return text.Substring(text.Substring(0, text.IndexOf(".com") + 4).LastIndexOf(" ") + 1) 
     End If 
End Function 

然后在您的报告中使用这个表达式为第一列:

=Code.SplitText(Fields!text.Value,1) 

,这第二

=Code.SplitText(Fields!text.Value,2) 

你有你的结果!

enter image description here

编辑 或者,如果你只是想在它自己使用的电子邮件地址验证码:

Function GetEmail(text As String) As String 

     Dim Result As String 
     Result = text.Substring(text.Substring(0, text.IndexOf(".co") + 3).LastIndexOf(" ") + 1) 
     Result = Result.Substring(0, Result.IndexOf(" ")) 

     Return Result 

    End Function