Java/Android:如果字符串等于其他字符串,如何找到字符串的第一个字符

Java/Android: how to find the first characters of a string if it equals other string

我有一个 String Array #1 countries[] 和另一个 String Array #2 splitr_str[]具有相同的值 但它分裂成两半。

我想要的是检查#2 数组的哪个值匹配具有完整单词的#1 字符串数组的前一半值

这是一个例子:

String[] countries = new String[]{"USA", "Spain" ,"Germany"};

String[] split_str = new String[]{"Sp", "ain", "A" ,"US" ,"Ger", "ma","ny"};

现在我只想检测与 ssplit_str 值

匹配的国家/地区值的前半部分

对于美国我只想选择 "US" 在

 split_str[3]

如果我找到了呢?我选择 "A" 即

 split_str[2]

以此类推

关于如何做到这一点有什么想法吗?

尝试使用 for 循环。正如我刚刚从 this post 中了解到的那样,一旦找到匹配项,您就可以使用标签和 break 轻松跳出两个循环。

outerloop:
for( String country : countries){
     for( String segment : split_str) {
        if( country.startsWith( segment ) ) {
            // do something here when the segment has been detected
            break outerloop;
        }
     }
}

我知道它有点低效。但这是我能找到的最佳解决方案

    for (int i = 0; i < countries.length; i++)
    {
        for(int j = 0; j < split_str.length; j++)
        {
            if(countries[i].substring(0, (countries[i].length() / 2) + 1).contains(split_str[j]))
            {
                for (int k = 0; k < split_str.length; k++)
                {
                    if (countries[i].substring((countries[i].length() / 2) + 1, countries[i].length()).contains(split_str[k]))
                    {
                        System.out.println(i);
                    }
                }
            }
        }
    }

希望对您有所帮助!