//1.模拟一个trim方法,去除字符串两端的空格。
public String MyTrim(String str){
int beginIndex = 0;
int endIndex = 0;
String newstr;
for(int i=0;i<str.length();i++){
//char c = str.charAt(i);
// if((String.valueOf(c)) != " "){
if(str.charAt(i)!= ' '){ //注意 ' '为char型," "为String型
beginIndex = i;
break;
}
}
for(int i=str.length()-1;i>=0;i--){
if(str.charAt(i)!= ' '){
endIndex = i;
break;
}
}
newstr = str.substring(beginIndex, endIndex+1);
return newstr;
}
//2.将一个字符串进行反转。将字符串中指定部分进行反转。比如将“abcdefg”反转为”abfedcg”
public String reverseString(String str,int begin,int end){
char[] c = str.toCharArray();
return reverseChar(c,begin,end);
}
public String reverseChar(char[] c,int begin,int end){
for(int x=begin,y=end;x<y;x++,y--){
char num = c[x];
c[x] = c[y];
c[y] = num;
}
return new String(c);
}
/*3 获取一个字符串在另一个字符串中出现的次数。比如:获取“ ab”在 “abkkcadkabkebfkabkskab”
中出现的次数
*/
public int countStr(String str1,String str2){
int i;
int count = 0;
while((i= str2.indexOf(str1))!=-1){ //优化代码
count++;
str2 = str2.substring(i+str1.length());
}
return count;
}
/*
*4 获取两个字符串中最大相同子串。比如:
str1 = "abcwerthelloyuiodef“;str2 = "cvthellobnm"
提示:将短的那个串进行长度依次递减的子串与较长
的串比较。
*/
public List<String> getSubString(String s1,String s2){
String minstr = (s1.length()<s2.length())?s1:s2;
String maxstr = (s1.length()>s2.length())?s1:s2;
List<String> list = new ArrayList();
for(int t=0;t<minstr.length();t++){
for(int i=0,j=minstr.length()-1-t;i<j&&j<minstr.length();i++,j++){
String minsp = minstr.substring(i, j);
if(maxstr.contains(minsp)){
list.add(minsp);
}
}
if(list.size()!= 0){
return list;
}
}
return null;
}
/*
* 5.对字符串中字符进行自然顺序排序。
提示:
1)字符串变成字符数组。
2)对数组排序,选择,冒泡,Arrays.sort();
3)将排序后的数组变成字符串。
*/
public String toArrays(String s){
char[] c = s.toCharArray();
Arrays.sort(c);
//return new String(c);
return String.valueOf(c);
}