gpt4 book ai didi

java - 在java中比较和提取2个数组中的相似字符串,不比较双字字符串,.split (",")返回空白

转载 作者:行者123 更新时间:2023-12-01 17:16:43 25 4
gpt4 key购买 nike

我知道以前有人问过类似的问题,而且我昨天也问过这个问题,但是我仍然找不到问题的答案!

我正在比较数组并提取与 HashSet 的相似之处。

final String[] abc = nlp_text.split(",");
final String[] xyz = getResources().getStringArray(R.array.xyz);

final HashSet<String> set = new HashSet<>();
for(String a : abc) set.add(a.toLowerCase());
final HashSet<String> set1 = new HashSet<>();
for(String a : xyz) set1.add(a.toLowerCase());
set.retainAll(set1);
String[] pqr= {};
pqr = set.toArray(pqr);

这将返回空白!虽然有类似的字符串用逗号分隔! nlp_text 是姓名数组列表,例如:“Nataly Portman、Johnny Depp、John Doe、Jane Doe、Natasha、Sasha 等”。数组 xyz 也有名称(名称数据库,大约 300 个)。

如果用 ("") 分割适用于单字字符串,但不适用于双字字符串。例如,字符串“John”和“Doe”将被单独识别,但“John Doe”则不会。因此,尝试使用逗号、“-”、“.”,甚至双空格!没什么!

知道为什么吗?提前致谢!!!

最佳答案

我的假设是你有空格。您的 nlp_text 可能如下所示:

“娜塔莉·波特曼、约翰尼·德普、约翰·多伊、简·多伊、娜塔莎、萨莎”

你的数组是这样的:

{“约翰尼·德普”、“约翰·多伊”、“简·多伊”、“娜塔莎”}

如果是,拆分后,final String[] abc 的某些元素中将会有空格。

如果是这种情况,请在 toLowerCase() 之后添加 trim():

a.toLowerCase().trim()

关于java - 在java中比较和提取2个数组中的相似字符串,不比较双字字符串,.split (",")返回空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61372890/

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