java去除字串兩端空格,對字串指定位置進行反轉。
阿新 • • 發佈:2018-12-31
1,模擬一個trim方法,去除字串兩端的空格。
思路:
1,判斷字串第一個位置是否是空格,如果是繼續向下判斷,直到不是空格為止。
結尾處判斷空格也是如此。
2,當開始和結尾都判斷到不是空格時,就是要獲取的字串。
2,將一個字串進行反轉。將字串中指定部分進行反轉,"abcdefg";abfedcg
思路:
1,曾經學習過對陣列的元素進行反轉。
2,將字串變成陣列,對陣列反轉。
3,將反轉後的陣列變成字串。
思路:
1,判斷字串第一個位置是否是空格,如果是繼續向下判斷,直到不是空格為止。
結尾處判斷空格也是如此。
2,當開始和結尾都判斷到不是空格時,就是要獲取的字串。
2,將一個字串進行反轉。將字串中指定部分進行反轉,"abcdefg";abfedcg
思路:
1,曾經學習過對陣列的元素進行反轉。
2,將字串變成陣列,對陣列反轉。
3,將反轉後的陣列變成字串。
4,只要將或反轉的部分的開始和結束位置作為引數傳遞即可。
————摘自《畢向東25天》class StringTest { public static void sop(String str) { System.out.println(str); } public static void main(String[] args) { String s = " ab cd "; sop("("+s+")"); // s = myTrim(s); // sop("("+s+")"); sop("("+reverseString(s)+")"); } //練習二:將字串反轉。 /* 思路: 1,將字串變成陣列。 2,對陣列反轉。 3,將陣列變成字串。 */ public static String reverseString(String s,int start,int end) { //字串變陣列。 char[] chs = s.toCharArray(); //反轉陣列。 reverse(chs,start,end); //將陣列變成字串。 return new String(chs); } public static String reverseString(String s) { return reverseString(s,0,s.length()); } private static void reverse(char[] arr,int x,int y) { for(int start=x,end=y-1; start<end ; start++,end--) { swap(arr,start,end); } } private static void swap(char[] arr,int x,int y) { char temp = arr[x]; arr[x] = arr[y]; arr[y] = temp; } //練習一,去除字串兩端空格。 public static String myTrim(String str) { int start = 0,end = str.length()-1; while(start<=end && str.charAt(start)==' ') start++; while(start<=end && str.charAt(end)==' ') end--; return str.substring(start,end+1); } }