Извлечение данных в PDF в UIPath - PullRequest
1 голос
/ 08 января 2020

Я пытаюсь получить точные данные c из файла PDF, используя IUPath.

Данные в PDF выглядят так:

**** hjeprj3 **** Джеймс Фи sh **** JDR0929879 **** jdloin2 B5339 ||

Мне нужно точно указать имя "Джеймс Фи sh". Он всегда будет иметь одинаковый формат, всегда **** текст **** имя фамилия **** текст И мне всегда придется извлекать имя, которое будет другим.

Я использовал эту функцию: PDFText.Substring (PDFText.IndexOf ("****", 0) +15,16), но так как имя всегда будет другим, оно не вернет правильное значение.

Можете ли вы любезно посоветовать?

Спасибо за помощь

Ответы [ 2 ]

0 голосов
/ 08 января 2020

Вам просто нужно извлечь значение в пределах 1 появления *** и второго. Будучи функцией подстроки примерно так:

Substring (int startIndex, int length);

С помощью indexOF вы можете взять начальный индекс и получить длину, выполнив 2-ю позицию индекса - 1-ю позицию индекса.


Или Вы можете просто разделить массив, используя ***, и взять второй элемент в нем. Проверьте эту ссылку для достижения этого решения

https://docs.microsoft.com/es-es/dotnet/api/microsoft.visualbasic.strings.split?view=netframework-4.8 https://docs.microsoft.com/es-es/dotnet/visual-basic/programming-guide/language-features/arrays/

0 голосов
/ 08 января 2020

@ OP - Слегка адаптируя ваш ответ, чтобы он мог работать с именами любой длины:

Strings.Trim(Strings.Split(PDFText.Substring(PDFText.IndexOf("**** ",0)+15,30),"*")(0))

Здесь я изменил длину подстроки с 16 до 30, что, я думаю, будет длинным достаточно для большинства имен (измените длину, если вам нужно). Это должно вернуть "James Fi sh **** JDR0929879 ***", или что-то подобное, если я пропустил 1 или 2 символа.

Функция Strings.Split (), использующая "*" как разделитель затем разделит эту подстроку на несколько других подстрок, первая из которых нам нужна с индексом (0).

Функция Strings.Trim () удалит лишний пробел в конце фамилии. , Вы можете использовать RTrim (), если вы предпочитаете технически это все, что требуется здесь. Trim () удаляет пробелы из начала и конца, нам нужно только удалить из конца здесь, но лучше всего быть осторожным со строками.

...