1、字符串反转
(1)递归
public class Reverse {
public static String test(String str){
if(str==null||str.length()<=1)
return str;
return test(str.substring(1))+str.charAt(0);
}
public static void main(String[] args) {
Reverse reverse=new Reverse();
String string=reverse.test("abcd");
System.out.println(string);
}
}
dcba
(2)charAt方法
public class Reverse {
public static String test(String str){
int length = str.length();
String reverse = "";
for (int i=0; i<length; i++)
reverse = str.charAt(i) + reverse;
return reverse;
}
public static void main(String[] args) {
Reverse reverse=new Reverse();
String string=reverse.test("abcd");
System.out.println(string);
}
}
通过charAt方法分别取出字符串中的每一个字符,并与前面所形成的字符串进行拼接,形成反转的字符串
(3)toCharArray
public class Reverse {
public static String test(String str){
char[] array = str.toCharArray();
String reverse = "";
for (int i = array.length - 1; i >= 0; i--) {
reverse =reverse+ array[i];
}
return reverse;
}
public static void main(String[] args) {
Reverse reverse=new Reverse();
String string=reverse.test("abcd");
System.out.println(string);
}
}
此方法是将字符串转换为字符数组,然后对字符数组进行遍历(倒序)
(4)StringBuiler或StringBuffer的reverse()方法
public class Reverse {
public static String test(String str){
StringBuilder stringBuilder=new StringBuilder(str);
return stringBuilder.reverse().toString();
}
public static void main(String[] args) {
Reverse reverse=new Reverse();
String string=reverse.test("abcd");
System.out.println(string);
}
}
2、字符串替换
(1)replace方法:
public class Reverse {
public String test(){
String str = "abcde";
String s = str.replace('c','3');
return s;
}
public static void main(String[] args) {
Reverse reverse=new Reverse();
String string=reverse.test();
System.out.println(string);
}
}
一次只能将一个字符替换为另一个字符
(2)replaceAll方法
public class Reverse {
public String test(){
String str = "abcdeab";
String s = str.replaceAll("ab","aabb");
return s;
}
public static void main(String[] args) {
Reverse reverse=new Reverse();
String string=reverse.test();
System.out.println(string);
}
}
aabbcdeaabb
将所有相同的字符串替换为要替换的字符串
(3)replaceFirst
public class Reverse {
public String test(){
String str = "abcdeab";
String s = str.replaceFirst("ab","aabb");
return s;
}
public static void main(String[] args) {
Reverse reverse=new Reverse();
String string=reverse.test();
System.out.println(string);
}
}
replaceFirst与replaceAll方法不同,replaceFirst只替换第一次出现的字符串