我怎么知道给定字符串的一部分是否是Arraylist <string>中的字符串?

时间:2015-11-15 18:13:48

标签: java string arraylist

我正在做家庭作业,我很难找到如何弄清楚给定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的每个单词中的每个字母。我不是要求别人为我编写作业。我正在寻找能够说出我应该研究哪个主题的人(具体而言),或者为了完成任务而给出一个与我的问题相关的事情的例子(明天到期)。

提前致谢,

伊恩·皮埃尔。

4 个答案:

答案 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");
            }
        }
        }       
    }