gpt4 book ai didi

java - 使用 Java 和 pdfBox 在 pdf 中搜索美元金额

转载 作者:行者123 更新时间:2023-12-01 21:57:44 27 4
gpt4 key购买 nike

这是为了可以节省我大约 10 分钟工作时间的事情,我不会为此获得报酬。这是Java。距离接触Java已经有一段时间了。我正在通过 pdfBox 搜索 PDF,仅查找使用美元货币形式的数字。该文档与此非常相似。

Activity Report
Business Date: 10/9/2019 Property Code: me.ra777 Shift: 9 User: me.ra777
Reserve

Account Person Name Start End Days Status Money TypeOfCode Type Location Source GTD Date User
077071543 Smith's, John Middle 9/25/19 9/26/19 1 O 55.50 BAR SNQQ 211 WI MC 9/25/19 me.ra777
877075375 45Lisa, Jo.nes Mid 9/25/19 9/26/19 1 I 99.00 SEG SNKE 138 WI VI 9/25/19 me.ra777
677256813 Jo^hn Wi.ck Ed 9/26/19 9/27/19 1 O 129.00 TRQ SNQQ 132 WI VI 9/26/19 me.ra777
477007406 Guys, Are 9/26/19 9/27/19 1 O 129.00 BAR SNQQ 133 WI VI 9/26/19 me.ra777
977495887 Last, First 9/27/19 9/28/19 1 O 165.00 BAR SNKE 438 WI VI 9/27/19 me.ra777
677472246 Po.or, Rich 9/27/19 9/28/19 1 O 165.00 BAR SNKE 138 WI MC 9/27/19 me.ra777
677457228 Dude, Isn't Here 9/27/19 9/28/19 1 I 180.00 BAR SNQQ 433 WI MC 9/27/19 me.ra777

Date/Time of Printing: 10/10/2019 1:42 PM Software Version: ssrs7x67 Page 1 of 1

如果我使用这样的方法......

public static void oneLine(Scanner sc){

while (sc.hasNextLine()) {
String line = sc.nextLine();
if(line.contains(" WI ")){
displayArea.append("\n"+line + "\n");
break;
}else{}

}
sc.close();
}

我只会得到这个作为我的输出。

077071543 Smith's, John Middle 9/25/19 9/26/19 1 O 55.50 BAR SNQQ 211 WI MC 9/25/19 me.ra777

我想要的输出只是

55.50

也许所有的美元金额都是这样的

55.50 99.00 129.00 129.00 165.00 165.00 180.00

好的,关于此文档的更多信息。我只需要这些行中的数据

077071543 Smith's, John Middle 9/25/19 9/26/19 1 O 55.50 BAR SNQQ 211 WI MC 9/25/19 me.ra777
877075375 45Lisa, Jo.nes Mid 9/25/19 9/26/19 1 I 99.00 SEG SNKE 138 WI VI 9/25/19 me.ra777
677256813 Jo^hn Wi.ck Ed 9/26/19 9/27/19 1 O 129.00 TRQ SNQQ 132 WI VI 9/26/19 me.ra777
477007406 Guys, Are 9/26/19 9/27/19 1 O 129.00 BAR SNQQ 133 WI VI 9/26/19 me.ra777
977495887 Last, First 9/27/19 9/28/19 1 O 165.00 BAR SNKE 438 WI VI 9/27/19 me.ra777
677472246 Po.or, Rich 9/27/19 9/28/19 1 O 165.00 BAR SNKE 138 WI MC 9/27/19 me.ra777
677457228 Dude, Isn't Here 9/27/19 9/28/19 1 I 180.00 BAR SNQQ 433 WI MC 9/27/19 me.ra777

这些行中的所有内容都可以更改,除了在源下显示“WI”和在用户下显示“me.ra777”之外,人们可能会弄乱名称,例如您看到“45Lisa,Jo.nes”和“Jo^” hn Wi.ck”

最终我还有更多的工作要做。我需要将所有美元金额相加,实际上,我还需要将它们除以 100;在这个例子中,如果我数学正确的话,我相信会给我 9.225......

我真的希望我可以像这里一样更改部分代码......

    if(line.contains(" WI ")){

这样我至少可以得到我需要的行的输出,并且我可以从那里自己做一些工作,并尝试自己解决其余的问题。

最佳答案

解决了。简而言之,我有两个主要方法 ----> find() 和 getUSD(Final String)

find() Used 
1. A for Loop
2. A while(String.astNextLine)
3. If line contains("WI" && ! linecontains "Software Version " )
4. varable rate = getUSD(String)
5. doSumMathStuffs'andComplainAboutWhyJavacan'tTellThisIsa#WithoutParseing
;;
6. print ("\n"+rate);

getUSD(Final String) used
1. If/else "Matcher m = Pattern.compile("-?\d+(\.\d+)").matcher(strings);"
2. while(m.find)
3 return m.group
4. There's Actualy some parseing and some other "transfer this variable tYpE to that TyPe " too

关于java - 使用 Java 和 pdfBox 在 pdf 中搜索美元金额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58729795/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com