gpt4 book ai didi

java - 句子识别

转载 作者:行者123 更新时间:2023-12-01 15:55:11 24 4
gpt4 key购买 nike

我希望我的 Java 程序能够回答科学教科书上的问题,例如,

如果骑车人的平均速度为 11.5 公里/小时,他在 4 小时内可以行驶多远?

作为字符串,然后我希望程序能够识别问题中提到的每个数字和单位,例如在上面的示例中,它将是 4.0 小时和 11.5 公里/小时。

是否可以使用正则表达式来实现此目的?

非常感谢

最佳答案

解决方案:
下面是一个 Java 示例代码,可以满足您的需求:


import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Regexp {
public static void main(String[] args) {
String units = "h|km/h";// Add more units separated by pipes here
String test = "How far can a cyclist travel in 4.0 h if his average speed is 11.5 km/h?";

Pattern p = Pattern.compile("\\d+(?:\\.\\d+)?\\s*(?:" + Matcher.quoteReplacement(units) + ")",Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(test);

System.out.println("Numbers and units recognized: ");
while(m.find()) {
System.out.println(m.group());
}
}
}


它将输出:

Numbers and units recognized: 4.0 h11.5 km/h


详细信息:
我假设数字具有以下形式:
一个或多个数字(0-9),可选后跟一个点和一个或多个数字(0-9)

您可以根据需要在管道分隔列表units变量中添加更多单位

关于java - 句子识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5226248/

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