gpt4 book ai didi

java - 有没有办法通过仅搜索单词的一部分来找到单词?

转载 作者:行者123 更新时间:2023-11-30 01:49:03 24 4
gpt4 key购买 nike

我需要获取一个包含特定单词的短语,然后如果它确实包含该单词,即使它是另一个单词的一部分,也要打印整个单词。

我想如何找到单词“apple”,但我不知道如何找到单词“appletree”

到目前为止,我有一些代码可以找到单词 apple 并将其打印出来。

String phrase = "She's sitting under an appletree!"; 

if (phrase.contains("apple")) {
System.out.println("apple");
} else {
System.out.println("none");
}

如何打印“appletree”

最佳答案

使用正则表达式进行 1 行:

String target = phrase.replaceAll(".*?(\\w*apple\\w*).*", "$1");

其工作原理是匹配(并因此替换)整个输入,但捕获目标,然后使用对捕获的输入的反向引用($1),从而仅返回目标。

出现 apple 的单词在 apple 的任一端使用 \\w*(即任意数量的单词字符)进行匹配。通过使用不情愿量词.*?在目标外部匹配前导字符的最小数量,否则该表达式将一直匹配到apple,这会漏掉像 dapple 这样的单词。

<小时/>

测试代码:

String phrase = "She's sitting under an appletree!";
String target = phrase.replaceAll(".*?(\\w*apple\\w*).*", "$1");
System.out.println(target);

输出:

appletree

关于java - 有没有办法通过仅搜索单词的一部分来找到单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56782239/

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