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);
}
}
}
}
}
希望对您有所帮助!
我有一个 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);
}
}
}
}
}
希望对您有所帮助!