2017-05-14 169 views
0
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]); 
       } 
      } 
     } 
    } 
} 

输出:如何通过Java中的多字符串分隔符分割字符串?

ABCDEF,IJKLMNOPQRSTUVWXYZ,ABCDEFGHIJKL,OPQRSTUVWXYZ 

,但实际产量:

ABCDEF,IJKL,OPQRSTUVWXYZ 
+4

[运行你的程序产生你期望的输出](http://ideone.com/bmMxVv)。投票结束,不可重复。 – dasblinkenlight

回答

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

希望这会有所帮助。