字符串最經常使用的三個處理方法(常常記錯記混,特此mark一下):java
indexOf()正則表達式
java.lang.String.indexOf() 的用途是在一個字符串中尋找一個字的位置,同時也能夠判斷一個字符串中是否包含某個字符,返回值是下標,沒有則是-1;3d
String str1 = "abcdefg"; int result1 = str1.indexOf("ab"); if(result1 != -1){ System.out.println("字符串str中包含子串「ab」"+result1); }else{ System.out.println("字符串str中不包含子串「ab」"+result1); }
substring()code
根據下標截取字符串字符串
String str="Hello world!" System.out.println(str.substring(3)); 輸出:lo world! (一個參數表明截取這個從這個下標開始到以後的內容)
String str="Hello world!" System.out.println(str.substring(3,7)) 輸出:lo w (截取下標從3開始,到7以前的字符串)
split()string
將字符串按特定字符分割(特殊字符須要轉義:split("\\|"),split("\\*"))it
String abc="a,b,c,e"; String[] a=abc.split(","); for(String t:a){ System.out.println(t); } 輸出:a b c e (按逗號分隔)
replace() 、replaceAll()、replaceFirst()方法
replace 的參數是char和CharSequence,便可以支持字符的替換,也支持字符串的替換(CharSequence即字符串序列的意思,說白了也就是字符串) replaceAll 的參數是regex,即基於正則表達式的替換,好比,能夠經過replaceAll("\\d", "*")把一個字符串全部的數字字符都換成星號;replaceFirst() 替換第一次出現的這個方法也是基於規則表達式的替換:co
String src = new String("ab43a2c43d"); System.out.println(src.replace("3","f"));=>ab4f2c4fd. System.out.println(src.replace('3','f'));=>ab4f2c4fd. System.out.println(src.replaceAll("\\d","f"));=>abffafcffd. System.out.println(src.replaceAll("a","f"));=>fb43fc23d. System.out.println(src.replaceFirst("\\d,"f"));=>abf32c43d System.out.println(src.replaceFirst("4","h"));=>abh32c43d.