假设我有一个字符串
interpreter, interprete, interpret
现在我要做的是从上面的字符串中获取必须为:
的最小匹配字符串 interpret
是否有可能使用Java,如果有人可以帮我解决这个问题,谢谢
答案 0 :(得分:0)
如果我找到你,你想要一个包含目标字符串s
的输入字符串t="interpret"
中最短的字。
首先,将字符串拆分为单词w
,例如,使用s.split("\\s*,\\s*")
,然后在每个字符串w.contains(t)
上使用w
来检查它是否包含您看起来的单词对于。选择contains
方法返回true
的最短字符串。
答案 1 :(得分:0)
看看这个......
public static void main(String[] ar)
{
List<String> all=new LinkedList<String>();
all.add("interpreter");
all.add("interprete");
all.add("interpret");
String small="";
small=all.get(0);
for (String string : all) {
if(small.contains(string))
{
small=string;
}
}
System.out.println(small);
}
让我知道,它是否满足您的要求???
// ----------------- Edited One --------------------------
public static void main(String[] ar)
{
List<String> all=new LinkedList<String>();
Set<String> result=new LinkedHashSet<String>();
all.add("interpreter");
all.add("interprete");
all.add("interpret");
all.add("developed");
all.add("develops");
String small="";
for(int i=0;i<all.size();i++)
{
small=all.get(i);
for(int j=i;j<all.size();j++)
{
if(small.contains(all.get(j)))
{
small=all.get(j);
}
}
result.add(small);
}
for (String string : result) {
System.out.println(string);
}
}
答案 2 :(得分:0)
you need to compare all char one by one of all string and a array of boolean flag maintain
for every pair of string then check out all Boolean array similarity(length) and then substring
of any string from that length
i hope this will help
答案 3 :(得分:0)
您正在寻找的是Java的lemmatizer / steamer。
其中有一些(我没有使用过),但你可能想搜索/尝试其中一些:
你应该测试它们中的每一个,因为例如一些(如果是雪球)会这样做:
Community
Communities --> Communiti // this is obviously wrong