1 Вопрос: как извлечь фамилию?

вопрос создан в Wed, May 8, 2019 12:00 AM

Есть ли функтоид, который специализируется на разбиении строки на основе разделителя?

Допустим, у меня есть поле Fullname, которое выглядит так:

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

Как мне извлечь фамилию?

Мой желаемый результат будет выглядеть так:

Gordon
Shiksa
Shkura
Sukovich
    
0
1 ответ                              1                         

Нет ни одного функтоида, который бы это делал. У вас есть два варианта:

  • Используйте functoid скрипта, чтобы написать метод C #, который будет анализировать фамилию
  • Используйте функтоиды String Find, Subtraction и String Extract, чтобы получить фамилию. Этот метод предполагает, что каждая входная строка всегда имеет запятую (,).

Вариант 2 с 3-мя функтоидами: BizTalk Map

Входные данные для поиска строк:

  • Входная строка: Fullname
  • Строка поиска: ,

Входные данные вычитания:

  • Ввод [0]: String Find
  • Ввод [1]: 1

Входные данные для извлечения строк:

  • Входная строка: Fullname
  • Начальный индекс: 1
  • Конечный индекс: Subtraction

Подключите выход String Extract к вашему выходному элементу. Вычитание необходимо, поскольку BizTalk считает строковые позиции, начиная с 1, и вам не нужна запятая часть вывода.

    
1
2019-05-08 17: 02: 30Z
  1. пуристический путь, кажется, тот, который вы здесь разработали, используя несколько функтоидов, однако я понимаю, что вы можете использовать это и с простым 1 скриптовым функтоидом, мой вопрос к вам, какой путь предпочтительнее и почему?
    2019-05-08 17: 55: 10Z
  2. Я думаю, что все сводится к личным предпочтениям. Как только элемент начинает требовать более 3-х или около того функтоидов, чтобы сделать отображение, я, как правило, использую скриптообразные функтоиды, поскольку гораздо меньше нужно смотреть, чтобы понять, что происходит. Так как этому нужно только 3, я бы сделал это так. Но если вам нужно обрабатывать строки, которые могут содержать или не содержать запятые, я бы использовал скриптообразный функтоид, чтобы избежать добавления на карту еще дюжины функтоидов.
    2019-05-08 18: 22: 34Z
источник размещен Вот