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

How to splitting different special characters in Java with using if contains?

我的字符串中有“-”字符,如下所示。 我正在使用 if contains “-” 并正确拆分。但是一些字符串值在不同的索引中也是“-”字符。 我尝试使用 2nd if contains “.-” 也无法解决问题。 那么没有“-”字符我能得到正确的输出吗?

13-adana-demirspor -> 有 2 个“-”字符。

15-y.-malatyaspor -> 也有“-”字符。

第 1 和第 2 弦会导致拆分问题。

还有的只有一个“-”字符,没有问题。

我的密码是:

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 ** 缺少第二个词

费内巴切

是的。 ** 缺少第二个字

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;
}