在 UIPath 中提取 PDF 格式的数据

Extract data in PDF in UIPath

我正在尝试使用 IUPath 从 PDF 文件中提取一些特定数据。

PDF 格式的数据如下所示:

**** hjeprj3 **** 詹姆斯鱼 **** JDR0929879 **** jdloin2 B5339 ||

我需要确切的名字 "James Fish"。 它将始终具有相同的格式,始终是 **** 文本 **** 名字姓氏 **** 文本 而且我总是必须提取名称,这将是不同的。

我使用了这个功能: PDFText.Substring(PDFText.IndexOf("**** ",0)+15,16) 但由于名称总是不同,因此 return 不是正确的值。

能否请教一下?

感谢您的帮助

@O.P。 - 稍微调整您的答案以使其适用于任何长度的名称:

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

在这里,我将子字符串的长度从 16 更改为 30,我想这对于大多数名称来说已经足够长了(如果需要,可以调整长度)。这应该是 return "James Fish **** JDR0929879 ***",如果我漏掉了 1 或 2 个字符,则应该是类似的东西。

使用“*”作为分隔符的 Strings.Split() 函数会将此子字符串拆分为其他几个子字符串,我们希望第一个子字符串位于索引 (0)。

Strings.Trim() 函数将删除姓氏末尾多余的 space。如果您愿意,您可以使用 RTrim() ,因为从技术上讲,这就是这里所需要的。 Trim()从头到尾去掉spaces,我们这里只需要从结尾去掉,但是最好注意字符串。

您只需要提取***出现的第1次和第二次出现内的值即可。像这样的子字符串函数

Substring (int startIndex, int length);

使用 indexOF 可以获取起始索引,并且可以通过执行第二个索引位置 - 第一个索引位置来实现长度。


或者您可以使用 *** 拆分成数组,然后将第二个外观放入其中。检查此链接以实现此解决方案

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/