gpt4 book ai didi

java - Java 中的字符串数组及其解析

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

好的,所以我有两个字符串。第一个字符串是一个单词,第二个字符串是一个句子。现在该句子包含该单词以及该单词的定义。请参阅下面的示例。

字符串:AED句子字符串:这很像“Kindle”或自动体外除颤器 (AED)。

所以我需要找到这个词的定义:自动体外除颤器:AED。

我需要做的是解析并找到定义。我目前陷入困境,需要一些帮助。下面的逻辑将单词分解为数组,将句子分解为数组。不幸的是这并不完整。而且,当逻辑查看单词的第一个字母时,它不会真正起作用,因为 AED 中的 A 是大写,而automatic 中的 a 是小写。

private void getDefinitions(String word, String sentence) {
if (sentence.contains(word)) {
String[] wordStrAry = word.split("");
String[] sentStr = sentence.split(" ");
for (int sentInt = 0; sentInt < sentStr.length; sentInt++){
for (int wordInt = 0; wordInt < wordStrAry.length; wordInt++) {
wordStrAry[wordInt].trim();
if (!wordStrAry[wordInt].equals("")) {
if (sentStr[sentInt].startsWith(wordStrAry[wordInt])){
System.out.println(sentStr[sentInt]);
}
}
}
}
}
}

我忘记的一点信息是我需要从句子中提取定义并将其显示在文本框中。

最佳答案

public static String getDefinition(String acronym, String sentence) {
if (!sentence.toLowerCase().contains(acronym.toLowerCase())) {
return null;
}

StringBuilder patternBuilder = new StringBuilder();
for (char letter : acronym.toCharArray()) {
patternBuilder.append("[");
patternBuilder.append(Character.toLowerCase(letter));
patternBuilder.append(Character.toUpperCase(letter));
patternBuilder.append("]");
patternBuilder.append("\\w*\\s+");
}
patternBuilder.delete(patternBuilder.length() - 3, patternBuilder.length());

Pattern pattern = Pattern.compile(patternBuilder.toString());
Matcher matcher = pattern.matcher(sentence);
if (!matcher.find()) {
return null;
}

return matcher.group();
}

public static void main(String[] args) {
String acronym = "AED";
String sentence = "This will be much like the \"Kindle\" or Automated External Defibrillator (AED)";
String definition = getDefinition(acronym, sentence);
if (definition != null) {
System.out.println(acronym + " = " + definition);
} else {
System.out.println("There is no definition for " + acronym);
}
}

关于java - Java 中的字符串数组及其解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12609252/

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