我正在做家庭作业,我很难找到如何弄清楚给定String的一部分是否是Arraylist
字符串中的字符串。
给定字符串的示例:
loveaspd
asdhouseaspd
字符串的arraylist:爱,房子,家,狗,娱乐,问题...
我曾尝试使用contains但只是意识到一旦我必须检查每个字母,它将无法帮助我。
示例:loveaspr
我的程序应该检查单词love
,这样它会看第一个字母是否匹配并转到第二个字母。因此,在阅读单词love
后,输出将为:
love exists.
该程序将检查字母a
。在我的arrayList中有一个单词a
,所以它将检查第二个字母,并且会看到没有这样的单词,其中第一个字母是a
,第二个是s
。然后a
将被拒绝,s
将被拒绝。
将检查字符串的最后一部分(请注意,我的arrayList中有单词问题,因此程序将检查第一个和第二个字母,然后两个字母将被一起拒绝。)
因此,我的输出应为:
love exists.
a rejected.
s rejected.
pr rejected.
问题是我不知道如何检查ArrayList的每个单词中的每个字母。我不是要求别人为我编写作业。我正在寻找能够说出我应该研究哪个主题的人(具体而言),或者为了完成任务而给出一个与我的问题相关的事情的例子(明天到期)。
提前致谢,
伊恩·皮埃尔。
答案 0 :(得分:0)
继续这样
ArrayList<String> ar = new ArrayList<String>();
for (String a : ar) {
if (a.contentEquals("any_string_here") || a.equalsIgnoreCase("any_string_here")) {
System.out.println("Found");
}
}
答案 1 :(得分:0)
一种选择是迭代列表,并使用String.indexOf()
来确定部分匹配。这是一个例子:
private static String match(List<String> mots, String searchPhrase) {
for(String mot : mots) {
if(searchPhrase.indexOf(mot) >= 0) {
return mot;
}
}
return "No Match Found.";
}
//Test
public static void main(String[] args) {
List<String> mots = new ArrayList<>();
mots.add("un");
mots.add("deux");
mots.add("trois");
String searchPhrase = "lesdeuxchats";
System.out.println( match(mots,searchPhrase) ); //Output = "deux"
}
答案 2 :(得分:0)
String s;
ArrayList<String> list= new ArrayList<String>();
int i,j;
for(i=0;i<s.length;i++)
{
for(j=i+1;j<s.length;j++){
if(list.contains(s.substring(i,j)){
System.out.println("The list contains "+s.substring(i,j));
}
}
}
子字符串(http://www.tutorialspoint.com/java/java_string_substring.htm)是获取原始字符串部分的方法。
答案 3 :(得分:0)
public class SO {
public static void main(String[] args) {
ArrayList<String> al = new ArrayList<String>();
al.add("ABC");
al.add("DEF");
al.add("GHI");
al.add("JKL");
al.add("MNO");
for (String arrList : al) {
if(arrList == "GHI"){
System.out.println("Found");
}
}
}
}