SRSS 表达式来拆分不包括特定字符串的字符串 [英] SRSS Expression to split strings excluding specific string
问题描述
我有以下功能(此论坛上有人在另一个问题中回答):
I have the following function (answered by someone on this forum in another question):
Public Function mySplit(ByVal my_field As String) As String
Dim result As String = ""
If my_field is Nothing or my_field = "" Then
Return result
End If
Dim TestArray() As String = my_field.Split(New Char() {" "c})
Dim word as String
Dim counter as Integer = 0
For Each word In TestArray
counter = counter +1
If counter = TestArray.Length Then
result = result + word
Else
result = result + word + vbCrLf
End if
Next
Return result
End Function
这适用于收集单词:
"IMAGE01 IMAGE02 IMAGE03"
并在报告中显示为:
IMAGE01
IMAGE02
IMAGE03
但是,我有一些名为 "IMAGESYS RES01"
的图像,由于上述功能,它们被分成两行:
However, I have some images named "IMAGESYS RES01"
which because of the above function are being split onto two lines:
IMAGESYS
RES01
我需要避免这种情况,因为上面的 "IMAGESYS RES01"
只是一个文件.
I need to avoid this, as the above "IMAGESYS RES01"
is just one file.
推荐答案
如果它总是遵循模式 IMAGESYS RESXX
这个表达式应该可以工作:
If it always follows the pattern IMAGESYS RESXX
this expression should work:
=REPLACE(Code.mySplit(REPLACE(Fields!YourField.Value,"S R","S_R")),"_"," ")
对于这个例子 IMAGE01 IMAGE02 IMAGE03 IMAGESYS RES01 IMAGESYS RES02
它应该返回:
With this example IMAGE01 IMAGE02 IMAGE03 IMAGESYS RES01 IMAGESYS RES02
it should return:
IMAGE01
IMAGE02
IMAGE03
IMAGESYS RES01
IMAGESYS RES02
UPDATE 关于它是如何工作的解释:
UPDATE Explanation about how it is working:
拆分没有什么不同,变化在于我们将值传递给 mySplit
函数的方式.REPLACE(Fields!YourField.Value,"S R","S_R")
将您的字段转换为该字段并将其传递给 mySplit
函数:
The split does nothing different, the change is in the way we pass the values to the mySplit
function. The REPLACE(Fields!YourField.Value,"S R","S_R")
turns your field in this and pass it to the mySplit
function:
IMAGE01 IMAGE02 IMAGE03 IMAGESYS_RES01 IMAGESYS_RES02
mySplit
函数将根据上面传递的参数返回下面的字符串.
The mySplit
function will return the below string based on the above passed argument.
IMAGE01
IMAGE02
IMAGE03
IMAGESYS_RES01
IMAGESYS_RES02
一旦函数返回上面的字符串,外部的 REPLACE
函数将 _
替换为 " "
(空格),将字符串保留为:
Once the function returns the above string the outer REPLACE
function replace the _
for " "
(whitespace), leaving the string as:
IMAGE01
IMAGE02
IMAGE03
IMAGESYS RES01
IMAGESYS RES02
如果这有帮助,请告诉我.
Let me know if this helps.
这篇关于SRSS 表达式来拆分不包括特定字符串的字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!