1. 有的时候需要对一个字符串中的某两个字符进行交换,总结了一下,可以使用以下的方法
① 可以使用将字符串中的某一段替换成其它字符的方法来交换某两个字符,可以规定替换的长度为1就可以替换一个字符,先得到字符串中两个需要交换的字符串的位置然后进行长度为1的分别替换即可,需要借助StringBuilder数据结构
StringBuilder sb = new StringBuilder(str);
sb.replace(int start, int end, String replace),包括start索引对应的字符,不包括end索引对应的字符
② 可以使用String对象的replace(char oldChar, char newChar),需要注意的是需要先将一个需要交换的字符替换为其他的字符,不能够一开始就将第一个字符就替换成第二个字符,因为第二个字符在替换为第一个字符又会替换回来,所以先要第一个字符替换为其他的字符
2. 下面是将字符串中的首尾字符进行交换,代码如下:
public class Main {
public static void main(String[] args) {
String s = "abcdefgh.";
System.out.println("交换之前: ");
System.out.println(s);
StringBuilder sb = new StringBuilder(s);
char c1 = s.charAt(0);
char c2 = s.charAt(s.length() - 1);
sb.replace(0, 1, c2 + "");
sb.replace(s.length() - 1, s.length(), c1 + "");
System.out.println("交换之后: ");
System.out.println(sb.toString());
s = "abcdefgh.";
//直接进行替换
s = s.replace(c1, '-');
s = s.replace(c2, c1);
s = s.replace('-', c2);
System.out.println(s);
}
}