在 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/
我正在尝试使用 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/