前幾天做算法甘改,get到了一個(gè)新方法旅东,就是去除字符串中的空格,tab鍵所造成的空值十艾,之后把字符串轉(zhuǎn)換成字符數(shù)組抵代,進(jìn)而很輕松的就得出字符串中的字符個(gè)數(shù)。之前也碰到過恨鎖新方法忘嫉,說實(shí)話荤牍,這些東西確實(shí)很方便,能夠減少很大的代碼量庆冕,減少出錯(cuò)的機(jī)會(huì)康吵。
import java.util.Scanner;
public class Main {/*標(biāo)題統(tǒng)計(jì),主要學(xué)習(xí)新方法---字?jǐn)?shù)串去空格等空白字符的方法*/
? ? public static void main(String[] args) {
? ? ? ? Scanner sc = new Scanner(System.in);
? ? ? ? String st = (sc.nextLine()).replaceAll(" ", "");/*新方法應(yīng)用:去除字符串中的空格*/
//? ? ? /*1访递、方法分類
//
//1.str.trim(); //去掉首尾空格
//2.str.replace(" ",""); //去除所有空格晦嵌,包括首尾、中間
//3.str.replaceAll(" ", ""); //去掉所有空格拷姿,包括首尾耍铜、中間
//4.str.replaceAll(" +","");? //去掉所有空格,包括首尾跌前、中間
//5.str.replaceAll("\\s*", ""); //可以替換大部分空白字符棕兼, 不限于空格 ;
// \\s* 可以匹配空格抵乓、制表符伴挚、換頁符等空白字符的其中任意一個(gè)。
? ? ? //5. StringUtils.deleteWhitespace(str)灾炭;
? ? ? ? //這是StringUtils類中封裝的方法茎芋,可以去除所有空格吊趾,并且可以匹配空格古戴、制表符、換頁符等空白字符的其中任意一個(gè)
//2陌兑、代碼示例
//package test;
//
//public class Test {
//
//? ? /**
//? ? * description:字符串去除空格的方法
//? ? */
//? ? public static void main(String[] args) {
//? ? ? ? String str = "? hi? world? ~? ";
//? ? ? ? //方法1:str.trim()
//? ? ? ? System.out.println("1--->"+str.trim());
//? ? ? ? //方法2:str.repalce(" ","")
//? ? ? ? System.out.println("2--->"+str.replace(" ", ""));
//? ? ? ? //方法3:str.repalceAll(" ","")
//? ? ? ? System.out.println("3--->"+str.replaceAll(" ", ""));
//? ? ? ? //方法4:str.repalceAll(" +","")
//? ? ? ? System.out.println("4--->"+str.replaceAll(" +", ""));
//? ? ? ? //方法5:str.repalceAll("\\s*","")
//? ? ? ? System.out.println("4--->"+str.replaceAll("\\s*", ""));
//? ? }
//} 3铡原、輸出結(jié)果
//1--->hi? world? ~
//2--->hiworld~
//3--->hiworld~
//4--->hiworld~
//4--->hiworld~
// 4偷厦、replace和replaceAll是JAVA中常用的替換字符的方法,它們的區(qū)別是:
//(1) replace的參數(shù)是char和CharSequence,即可以支持字符的替換,也支持字符串的替換(CharSequence即字符串序列的意思,說白了也就是字符串);
//(2) replaceAll的參數(shù)是regex,即基于規(guī)則表達(dá)式的替換,比如,可以通過replaceAll("\\d", "*")把一個(gè)字符串所有的數(shù)字字符都換成星號(hào);
//相同點(diǎn):都是全部替換,即把源字符串中的某一字符或字符串全部換成指定的字符或字符串,如果只想替換第一次出現(xiàn)的,可以使用 。
//replaceFirst(),這個(gè)方法也是基于規(guī)則表達(dá)式的替換,但與replaceAll()不同的時(shí),只替換第一次出現(xiàn)的字符串;*/
? ? ? ? char[] ch = st.toCharArray();
? ? ? ? System.out.print(ch.length);
? ? }
}