Crystal reports 在crystal报表中使用子字符串

Crystal reports 在crystal报表中使用子字符串,crystal-reports,Crystal Reports,我在crystal report中有一个字段,其中包含以下数据: '605 KL1-丹尼尔·史蒂夫' 我怎样才能移除'605 KL1-'而只将'Daniel Steve'留在现场? '-'前面的字符可能不同,我希望公式会自动搜索'-',然后显示后面的所有内容。MID可以在这里提供帮助: MID(my_string, 11) // will print your string from character 11 ("D") forward 如果需要动态显示,您可以将MID与INSTR组合使用(当

我在crystal report中有一个字段,其中包含以下数据:
'605 KL1-丹尼尔·史蒂夫'
我怎样才能移除'605 KL1-'而只将'Daniel Steve'留在现场?
'-'前面的字符可能不同,我希望公式会自动搜索'-',然后显示后面的所有内容。

MID
可以在这里提供帮助:

MID(my_string, 11) // will print your string from character 11 ("D") forward
如果需要动态显示,您可以将
MID
INSTR
组合使用(当然,只有在数据格式一致的情况下,这才有效):

使用下标(x[y])晶体合成子

field_name ='605 KL1 - Daniel Steve'
句法
{field_name}
[11到23]

Result={field\u name}
[11至23]->Result=
'Daniel Steve'

网站参考:
我想你也可以像那样使用
Split
函数

Split ({field_name},"-")[2]

但若要使用split函数,必须确保字符串中存在分隔符,或者添加一些条件以防止运行时错误。Split函数返回一个数组,但它不是以零开头的。它的平均值
[1]
是第一个房间,
[2]
是第二个房间。

是否可以不固定字符索引?因为“-”之前的字符可能不同。我希望它可以搜索“-”,然后在“-”之后显示任何内容。@WeeShian:刚刚添加了另一个示例来解决这个额外的情况。
Split ({field_name},"-")[2]