【问题标题】:Extract data in PDF in UIPath在 UIPath 中提取 PDF 中的数据
【发布时间】:2020-01-08 08:24:06
【问题描述】:

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

PDF 中的数据如下所示:

**** hjeprj3 **** James Fish **** JDR0929879 **** jdloin2 B5339 ||

我需要准确地说出“James Fish”这个名字。 它将始终具有相同的格式,始终 **** 文本 **** 名字 姓 **** 文本 而且我将始终必须提取名称,这将有所不同。

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

你能建议吗?

感谢您的帮助

【问题讨论】:

  • 如果您的函数当前适用于该名称,但不适用于其他名称,那么我建议您将字符串加长。然后使用 Strings.Split() 函数将字符串用“*”字符分隔,仅使用索引获取第一个字符串,例如“(0)”。然后,您可以使用 Strings.Trim() 删除名称后可能留下的任何尾随空格。

标签: function pdf split extract uipath


【解决方案1】:

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

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

在这里,我将子字符串的长度从 16 更改为 30,我想这对于大多数名称来说已经足够长了(如果需要,可以调整长度)。这应该返回“James Fish **** JDR0929879 ***”,或者如果我错过了 1 或 2 个字符,则返回类似的内容。

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

Strings.Trim() 函数将删除姓氏末尾的多余空格。如果您愿意,您可以使用 RTrim() 从技术上讲这就是这里所需的全部。 Trim() 去除开头和结尾的空格,这里我们只需要从结尾去除,但最好小心字符串。

【讨论】:

  • 您好,我试过了,但是没用。它返回了完全不同的东西“:5001281960\r\n\r\nThis purchase”,我不明白为什么。它似乎无法识别“*”符号。
  • 我的错,它正在工作,我写错了一个变量。非常感谢您的帮助!
【解决方案2】:

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

Substring (int startIndex, int length);

使用 indexOF 您可以获取起始索引,您可以通过执行 2nd Index position - 1st index position 来实现长度。


或者您可以使用 *** 拆分为数组并在其中获取第二个外观。检查此链接以实现此解决方案

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/

【讨论】:

    猜你喜欢
    • 2021-04-26
    • 1970-01-01
    • 1970-01-01
    • 2020-12-20
    • 1970-01-01
    • 1970-01-01
    • 2021-10-28
    • 1970-01-01
    相关资源
    最近更新 更多