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只替换第一次出现的字符串