Синяя призма, Расчет, Замена, Номер извлечения

Мне нужно извлечь числа из текста на этапе расчета в Blue Prism. Текст: «Обратите внимание на номер вашего заказа: 123». Число «123» меняется каждый раз, когда размещается новый заказ. Мне нужно извлечь число из конца этого в элемент данных. В настоящее время я использую:

Правильно («Обратите внимание на номер вашего заказа:», «3»), и он не работает.

Любой совет будет очень признателен.


person M.p    schedule 29.04.2018    source источник


Ответы (8)


Я только что закончил курс разработчика 1 для BluePrism и сделал то же упражнение. Я использовал эту строку:

ToNumber (Замените ([Сохранить номер заказа], "Обратите внимание на номер вашего заказа:", ""))

Он удалил текст из строки, заменив его ничем (""), а затем создал число из данных, оставшихся в строке. И вуаля, у вас есть номер заказа.

person johwes    schedule 24.01.2019

Для этого вы можете использовать шаг вычисления в Blue Prism, и вы почти правы.

Я предполагаю, что у вас есть вся строка, включая ссылочный номер заказа, загруженная в dataitem. Назовем это dataitem [orderReference]

Right([orderReference],3) затем выдаст вам последние три символа в строке (которые будут числами).

Это работает, только если ссылка на заказ всегда состоит из трех цифр. Со временем номер заказа, вероятно, увеличится до четырех или пяти цифр, а вы все равно получите только последние три.

Чтобы учесть это, вы можете использовать Len([orderReference]), чтобы получить длину всей строки. Вычтите 42 из длины (перед числами 42 символа - я предполагаю, что после них есть пробел: иначе было бы 41).

Просто используйте это число вместо 3 в правой функции.

Right([orderReference],Len([orderReference])-42)
person Rune Stæhr    schedule 03.05.2018

Таким образом, у вас есть уникальный идентификатор ":" перед значением, которое вы хотите вернуть, вы можете использовать это в своих интересах.

1) используйте функцию InStr, чтобы найти позицию, где этот уникальный символ находится в строке.

2) Используйте функцию Left, чтобы вернуть символы до уникального символа включительно.

3) из этого мы можем затем использовать функцию замены, чтобы обнулить текст, который вы только что вернули, оставив только желаемое значение.

4) добавить функцию обрезки (хорошая уборка и чистые данные)

Я показал то, что сделал ниже (используя [Data1] в качестве строкового значения), это было независимо от сообщения, которое вы получили перед этим значением, пока у вас есть уникальный символ, он всегда будет возвращать значение (я понимаю, что мог бы просто сказать, что в двух словах (это делает его динамичным))

Trim(Replace([Data1], Left([Data1], InStr([Data1], ":")), ""))

надеюсь это поможет :)

person Lee Norwood-Green    schedule 11.05.2018

Replace("Please take note of your order reference:123",
  Left("Please take note of your order reference: 123",
  InStr("Please take note of your order reference: 123",":")),"")

Примечание. Используйте элемент данных вместо «Обратите внимание на номер вашего заказа: 123».

person PRAGATI PATNAIK    schedule 18.01.2020

Сохраните свои данные в переменной A = Обратите внимание на номер вашего заказа: 123

Используйте Заменить ([A], «Обратите внимание на номер вашего заказа: пробел», «пробел») ЗАТЕМ Обрезать: Обрезать (Заменить ([A], «Обратите внимание на номер вашего заказа: пробел», «пробел»). )) ЗАТЕМ преобразовать в число Tonumber (Trim (Заменить ([A], «Обратите внимание на ссылку вашего заказа: пробел», «пробел»)))

У меня был тот же сценарий, 234 австралийских доллара. Я попробовал описанные выше шаги, которые мне помогли, удачи !!

person Paraneetharan Elango    schedule 11.04.2020

        string test = "Please take note of your order reference: 123";
        string digits = new String(test.Where(Char.IsDigit).ToArray());
        Console.WriteLine(digits);

** вы можете добиться этого, используя этап кода, я использовал C #. вместо вывода вывода на консоль загрузить его в элемент данных **

person user3832693    schedule 01.05.2018

Вы можете использовать приведенную ниже инструкцию на этапе расчета синей призмы.

Trim(Mid([Data2], InStr([Data2], ":")+1, Len([Data2])-2))
person Vijay Dodamani    schedule 05.11.2018

Использование Replace ():

Trim(Replace(AllTextInElement, "Please take note of your order reference:", ""))

Использование Regex в блоке кода:

ExtractedNumbers = Regex.Match(AllTextInElement, "\d+")
person David Foley    schedule 09.02.2019