gpt4 book ai didi

java - 在 Java 中从文本文件中检索单个特定数字的有效方法

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

如果之前已经有人问过这个问题,我深表歉意;我尝试搜索,但没有找到任何与此接近的内容。

我有一个文本文件,已将其读入 Java 程序中的 String 中。我需要在该文本文件中搜索包含数字的特定短语,并提取该数字以保存到 int 变量中。以下是一个此类文件的示例摘录:

≥                                                                              ≥
≥CREDIT CARD TERMS ≥
≥ORDER IS ON HOLD FOR PREPAYMENT OF ORDER TOTAL + FREIGHT BY CREDIT CARD. ≥
≥ORDER TOTAL DOES NOT REFLECT FREIGHT COSTS & WILL BE CHARGED AFTER ORDER ≥
≥SHIPS. ORDER WILL SHIP _5_ WORKING DAYS FROM RECEIPT OF ALL APPROVALS & ≥
≥RECEIPT OF CREDIT CARD FORM. ≥
≥ ≥

此片段通常出现在文本文件的最下方,但在特定行上。我需要从文件中的短语“ORDER WILL SHIP _5_ WORKING DAYS”中提取数字 5

我已经可以想象一种方法,它包括使用正则表达式进行两次连续搜索。第一个将搜索短语,然后第二个将搜索数字。然而,这对我来说似乎相当低效,必须在两个进程中创建 PatternMatcher 类的实例。

我认为必须有一些更有效的方法来执行此提取,而不需要两次正则表达式搜索。有这样的办法吗?或者这是连续两次搜索执行此操作的唯一方法?

修正案 03/30/2016:我忘记提及我需要提取的数字可能没有周围有下划线。这可能会影响任何不使用正则表达式的答案。

最佳答案

非正则表达式方式。但不确定它是否更有效:

static final String PREFIX = "ORDER WILL SHIP _";
String s = // file content
value = s.substring(s.indexOf(PREFIX) + PREFIX.length(), s.indexOf("_ WORKING DAYS"));

也应该可以使用单个正则表达式来完成

关于java - 在 Java 中从文本文件中检索单个特定数字的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36293586/

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