消除字符串两端的空格
1.判断字符串第一个位置是否为空格,如果是继续向下判断,直到不是空格位置,末尾也是这样,往前判断,直到不是空格为止。
2.当开始和末尾都不是空格时,获取字符串。
1 public static String myTrim(String str) 2 { 3 int start=0,end=str.length()-1; 4 5 while(start<=end&&str.charAt(start)==' '); 6 start++; 7 while(start<=end&&str.charAt(end)==' ' ); 8 end--; 9 return str.substring(start,end+1); 10 }
将一个字符串和部分字符串进行翻转
1.需要翻转的字符串转换成数组toCharArray()方法
2.将数组翻转
1 private static void reverse(char[] arr,int x,int y) 2 { 3 for(int start=x,end=y-1;start<end;start++,end--) 4 { 5 swap(arr,start,end); 6 } 7 8 } 9 private static void swap(char[] arr,int x,int y) 10 { 11 char temp=arr[x]; 12 arr[x]=arr[y]; 13 arr[y]=temp; 14 }
3.将数组转换成字符串
1 public static String reverseString(String s) 2 { 3 //需要翻转的字符串转换成数组toCharArray()方法 4 char[] chs = s.toCharArray(); 5 //将数组翻转 6 reverse(chs); 7 //将数组转换成字符串 8 return new String(chs); 9 }
将部分字符串进行翻转
1 public static String reverseString(String s,int start,int end) 2 { 3 //需要翻转的字符串转换成数组toCharArray()方法 4 char[] chs = s.toCharArray(); 5 //将数组翻转 6 reverse(chs,start,end); 7 //将数组转换成字符串 8 return new String(chs); 9 10 }
获取一个字符在另一个字符中出现的次数
1.定义一个计数器,
2.获取相应字符出现的次数
3.从第一次出现的位置后剩余的字符串中继续获取相应字符串的出现位置,每获取一次就统计一次就统计一次
4.当获取不到是计数器统计完成
1 lass StringTest_1 2 { 3 public static void main(String[] args) 4 { 5 String str = "abkkcdkkefkkskk"; 6 sop("count="+getSubcount(str,"kk")); 7 8 } 9 10 11 public static int getSubcount(String str,String key) 12 { 13 int count=0; 14 int index=0; 15 16 while((index=str.indexOf(key))!=-1) 17 { 18 sop("str="+str); 19 str = str.substring(index+key.length()); 20 count++; 21 } 22 return count; 23 } 24 25 public static void sop(String str) 26 { 27 System.out.println(str); 28 } 29 }