如何使用if contains在Java中拆分不同的特殊字符



我的字符串中有"-"个字符,如下所示。我使用的if包含"-"并且正确拆分。但是有些字符串值在不同的索引中也是"-"字符。我试着使用包含".-"的2nd也不能解决问题。那么,我可以在没有"-"字符的情况下获得正确的输出吗?

13adana demirspor->有2个"-"字符。

15岁-马拉蒂亚斯波->也有"-"字符。

第一个和第二个字符串会造成拆分问题。

其他人只有一个"-"字符,没有问题

我的代码是:

final String [] URL  = {
"13-adana-demirspor",
"14-fenerbahce",
"15-y.-malatyaspor",
"16-trabzonspor",
"17-sivasspor",
"18-konyaspor",
"19-giresunspor",        
"20-galatasaray"
};
for(int i=0; i<URL.length; i++)
String team;
if (URL[i].contains("-")) {
String[] divide = URL[i].split("-");
team = divide[1];
System.out.println("     " + team.toUpperCase());
} else if (URL[i].contains(".-")){
String[] divide = URL[i].split(".-");
team = divide[2];
System.out.println("     " + team.toUpperCase());
}else {
team = null;
}

我的输出是:

ADANA**缺少第二个单词

费内巴切

Y.**缺少第二个单词

TRABZONSPOR

SIVASSPOR

KONYASPOR

GIRESUNSPOR

加拉塔萨雷

谢谢你的帮助。

看起来您只想在第一次出现时进行拆分。为此,可以使用split的第二个参数并将其设置为2。就像

if (URL[i].contains("-")) {
String[] divide = URL[i].split("-", 2);
team = divide[1];
System.out.println("     " + team.toUpperCase());
} else {
team = null;
}

为了得到最后一部分,你可以做

if (URL[i].contains("-")) {
String[] divide = URL[i].split("-");
team = divide[divide.length - 1];
System.out.println("     " + team.toUpperCase());
} else {
team = null;
}

最新更新