如何在Java中用多字符串分隔符拆分字符串?

时间:2017-05-14 13:18:47

标签: java

public class SplitTest {
    public static void main(String[] args) {
        String string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        String[] strToSplit = new String[] { "GH", "MN" };
        for (String de : strToSplit) {
            if (string.contains(de)) {
                String[]str = string.split(de);
                for (int i = 0; i < str.length; i++) {
                    System.out.println(str[i]);
                }
            }
        }
    }
}

输出:

ABCDEF,IJKLMNOPQRSTUVWXYZ,ABCDEFGHIJKL,OPQRSTUVWXYZ

但实际输出是:

ABCDEF,IJKL,OPQRSTUVWXYZ

1 个答案:

答案 0 :(得分:0)

您可以采用另一种方式,例如在第一个位置用唯一分隔符替换字符串,而不是在第一个位置拆分字符串。后来您可以通过唯一分隔符拆分整个字符串。对于前。

 public class SplitTest {
 public static void main(String[] args) {
    String string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    String str;
    String[] strToSplit = new String[] { "GH", "MN" };
    for (String de : strToSplit) {
        if (string.contains(de)) {
             str = string.replace(de,unique_delimiter);

        }
    }
  String [] finalString = str.split(unique_delimiter);
   for (int i = 0; i < finalString.length; i++) {
                System.out.println(finalString[i]);
            }
}
}

希望这会有所帮助。