【问题标题】:how to extract last name?如何提取姓氏?
【发布时间】:2019-05-08 15:52:32
【问题描述】:

是否有专门用于根据分隔符拆分字符串的 functoid?

假设我有一个看起来像这样的Fullname 字段:

Gordon, Liza
Shiksa, Nancy
Shkura, Lola
Sukovich, Matthew

如何提取姓氏?

我想要的输出如下所示:

Gordon
Shiksa
Shkura
Sukovich

【问题讨论】:

    标签: biztalk biztalk-2010 biztalk-2013


    【解决方案1】:

    没有单一的 functoid 可以做到这一点。你有两个选择:

    • 使用脚本 functoid 编写将解析出姓氏的 C# 方法
    • 使用String FindSubtractionString Extract functoid 获取姓氏。此方法假定每个输入字符串始终有一个逗号 (,)。

    带有 3 个 functoid 的选项 2:

    字符串查找输入:

    • 输入字符串:Fullname
    • 搜索字符串:,

    减法输入:

    • 输入[0]:String Find
    • 输入[1]:1

    字符串提取输入:

    • 输入字符串:Fullname
    • 开始索引:1
    • 结束索引:Subtraction

    String Extract 的输出连接到您的输出元素。减法是必要的,因为 BizTalk 从 1 开始计算字符串位置,并且您不希望输出的逗号部分。

    【讨论】:

    • 纯粹的方式似乎是您在此处阐述的方式,使用多个 functoid,但是我知道您也可以仅使用 1 个脚本 functoid 来使用它,我的问题是哪种方式是更可取,为什么?
    • 我认为这取决于个人喜好。一旦一个元素开始需要超过 3 个或更多的 functoid 来进行映射,我倾向于使用脚本 functoid,因为要了解正在发生的事情要查看的内容要少得多。由于这个只需要3个,我会这样做。但是,如果您需要处理可能包含或不包含逗号的字符串,那么我会使用脚本 functoid 以避免在地图中添加十几个 functoid。
    猜你喜欢
    • 1970-01-01
    • 2015-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-22
    相关资源
    最近更新 更多