我的字符串中有"-"个字符,如下所示。我使用的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;
}