java常用类一:String(2)

一、模拟一个trim方法,去除字符串两端的空格

public static String myTrim(String str){

  int start = 0;

  int end = str.length()-1;

  while(str.charAt(start) == ' '){

    start++;

  }

  while(str.cartAt(end) ==' '){

    end--;

  }

  return str.substring(start,end+1);

}

 

二、将一个字符串进行行反转。将字符串指定部分进行反转。比如将“abcdefg”反转abfedcg“

public static String reverseString(String str,int start,int end){

  char[] c = str.toCharArray();

  return reverseArray(c,start,end);

}

 

public static String reverArray(char[] c,int start,int end){

  for(int i = start,j=end;i<j;i++,j--){

    char temp = c[j];

    c[i] = c[j];

    c[j] = temp;

  }

  //字符数组-->字符串

  return new String(c);

}

 

//将一个字符串进行反转,将字符串指定部分进行反转。比如“abcddeg”反转“abfedcg”(方法二)

public static String reverseString1(String str,int start,int end){

  String str1 = str.substring(0,start);

  for(int i=end;i>=start;i--){

    char c =str.charAt(i);

    str1 +=c;

  }

  str1 += str.substring(end);

  return str1;

}

 

三、获取一个字符串在另一个字符串中出现的次数,判断str2在str1中出现的次数

public static int getTime(String str1,String str2){

  int count = 0;

  int len;

  while((len=str1.indexOf(str2)) != -1){

    count++;

    str1 = str1.substring(len+str2.length());

  }

  return count;

}

 

四、获取两个字符串中最大相同子串

public static List<String> getMaxSubString(String str1,String str2)

{

  String maxStr = (str1.length()>str2.length())?str1:str2;

  String minStr = (str1.length()>str2.length())?str2:str1;

  List<String> list = new ArrayList<>();

  int len = minStr.length();

  for(int 1=0;i<len;i++){

    for(int x= 0,y=len-i;y<len;x++,y++){

      String str = minStr.substring(x,y);

      if(maxString.contains(str)){

        list.add(str);

      }

    }

    if(list.size() != 0){

    return list;

    }

  }

  return null;

}

 

 

五、对字符串字符进行自然顺序排序

public static String sort(String str)

{

  char[] c =str.toCharArray();

  Arrays.sort(c);

  return new String(c);

}

 

public static void main(String[] args){

  String str = "  abc  de  ";

  String str1 = myTrim(str);

  System.out.println(str1);//abc de

  String str2 = "abcdefg";

  String str3 = reverseString(str2,2,5);

  System.out.println(str3);//abfedcg

  int i = getTime("abkkcadkabkebfkabkskab","abk");

  System.out.println(i);//3

  List<String> str5 = getMaxSubString("abcwerthelloyuiodef","cvhellobnm");

  System.out.println(str5);

  String str6 = "aediwwqfds";

  String str7 = sort(str6);

  System.out.println(str7);

 

}

posted @ 2018-09-17 17:07  小龟一号  阅读(212)  评论(0)    收藏  举报