将字符串的某两个字符进行交换

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);
	}
}

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值