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?