1. 模拟一个trim方法,去除字符串两端的空格。
/*
1. 模拟一个trim方法,去除字符串两端的空格。
*/
@Test
public void test1(){
String s1 = " abc ";
// System.out.println(s1);
int start = s1.indexOf(" ");
int end = s1.lastIndexOf(" ");
String s2 = s1.substring(start+1,end);
System.out.println(s2);
}
2. 将一个字符串进行反转。将字符串中指定部分进行反转。比如“abcdefg”反 转为”abfedcg”
/*
2. 将一个字符串进行反转。
将字符串中指定部分进行反转。比如“abcdefg”反转为”abfedcg”
*/
@Test
public void test2(){
String s1 = "abcdefg";
String reverse = this.reverse(s1, 2, 5);
System.out.println(reverse);
}
//字符串指定字符反转,返回翻转后的字符串
public String reverse(String str,int startIndex,int endIndex){
char[] c1 = str.toCharArray();
char temp;
for (int i = startIndex,j = endIndex; i < endIndex ; i++,j--) {
temp = c1[i];
c1[i] = c1[j];
c1[j] = temp;
}
return new String(c1);
}
3. 获取一个字符串在另一个字符串中出现的次数。 比如:获取“ ab”在 “abkkcadkabkebfkabkskab” 中出现的次数
/*
3. 获取一个字符串在另一个字符串中出现的次数。
比如:获取“ ab”在 “abkkcadkabkebfkabkskab” 中出现的次数
*/
@Test
public void test3(){
String s1 = "abkkcadkabkebfkabkskab";
String s2 = "abababababababababababab";
int num1 = times(s2, "ab");
System.out.println(num1);
}
// 获取一个字符串在另一个字符串中出现的次数。
public int times(String str1,String str2) {
int maxLen = str1.length();
int minLen = str2.length();
int index = 0;
int count = 0;
if (minLen < maxLen){
while( (index = str1.indexOf(str2,index)) != -1){
count++;
index += minLen;
}
}
return count;
}
4.获取两个字符串中最大相同子串。
/*
4.获取两个字符串中最大相同子串。比如:
str1 = "abcwerthelloyuiodef“;str2 = "cvhellobnm"
提示:将短的那个串进行长度依次递减的子串与较长的串比较。
*/
@Test
public void test4(){
String str1 = "asdfgrgcihellonasdfj";
String str2 = "hello";
String str3 = getMaxSameString(str1,str2);
System.out.println(str3);
}
public String getMaxSameString(String str1,String str2) {
//利用三目运算判断出字符串的长短
String maxStr = (str1.length() >= str2.length()) ? str1 : str2;
String minStr = (str1.length() < str2.length()) ? str1 : str2;
int minlength = minStr.length();//得到短字符串的长度
for (int i = 0; i < minlength; i++) {
for (int x = 0, y = minlength - i; y <= minlength; x++, y++) {//保证循环中截取的字符串长度一样
String subStr = minStr.substring(x, y);//截取字符串长度
if (maxStr.contains(subStr)) {//判断是否包含此字符串
return subStr;
}
}
}
return null;
}
5.对字符串中字符进行自然顺序排序。
@Test
public void test5(){
String s1 = "wersdfgaeragsdgv";
char[] c1 = s1.toCharArray();
Arrays.sort(c1);
String s2 = new String(c1);
System.out.println(s2);
}