JAvaにおけるsplitの使い方

3096 ワード

private static void testSplit() {  
    String ss = ",aa,bb,cc,dd,,,";  
    String[] array = ss.split(",");  

    System.out.println(array.length);//   5,       8  
    for (int i = 0; i < array.length; i++) {  
        System.out.println(array[i]);  
    }  
} 

実行後、結果は:5、8ではありません.ソースコードを見ると、末尾から文字の長さが空いているかどうかをチェックし、空いているかどうかをチェックすると削除されます.sizeが減少し、末尾だけをチェックし、頭部はチェックしないので、頭部の「」が存在します.
次は練習問題です.「aa 12 sas 32 sasa 223 sas 12 as 12 wqe」//数字を消して、配列「aa,,sas,,sasa,,,,,,,,,,//読点を消して、いくつかの読点にかかわらず、「aa sas sa sa sas」//スペースを消して、いくつかの読点にかかわらず
private static void testSplitPlus() {  
    String ss = "aa12sas32sasa223sas12as12wqe";  
    String[] array = ss.split("[\\d]+");  
    System.out.println(Arrays.toString(array));  
    ss = "aa,,sas,,sasa,,,,sasas,,,";  
    array = ss.split("[,]+");  
    System.out.println(Arrays.toString(array));  
    ss = "aa  sas sa sa     sas  as  ";  
    array = ss.split("[\\s]+");  
    System.out.println(Arrays.toString(array));  
}  
public String[] split(String regex) {  
    return split(regex, 0);  
}  

見たかどうか分かりませんが、そのregexは、正規表現の意味ではありませんか.それでは、この方法は正規表現の操作をサポートしています.上のコードは説明しやすいです.
最初の[d]+この解釈はがエスケープ記号であり、dが数字を表し、括った後のプラス記号が1つ以上を表すと、実行結果を説明することができます.
2番目の[,]の説明は、カンマが1回または複数回現れることです.
3つ目は、スペース、タブ、改ページなど、空白の文字を一致させることです.[frtv]に等価です.
注意:このブログはhttps://blog.csdn.net/qq_27093465/article/list/7?