字符串的反转,替换,回文

今天我看到一篇博文,关于字符串的反转和替换的,但是我仔细回想了一下,觉得字符串的反转和回文有点相像,就拿在一起来说,会比较好记一点。

一.字符串的反转

所谓字符串的反转,顾名思义就是字符串反过来了
例如:原字符串—abcdef
反转之后—fedcba
Java中我总结出来了字符串的反转有四种方式:

  • 方法一:通过String中的toCharArray方法,把字符串转化为数组,然后通过for循环对数组的元素进行交换
public static void StringReversalOne(){	
	String re ="abcdef";        
	char [] arr =re.toCharArray();     
	for (int i = 0; i < (arr.length)/2; i++) { 
		char temp =arr[i];
		arr[i] = arr[arr.length-1-i];
		arr[arr.length-1-i] = temp;
	}
	String a = new String(arr);		//将数字转为字符串
	System.out.println(a); 	//输出字符串
}
  • 方法二:调用Stringbuffer中的方法reverse,这个更直接
public static void StringReversalTwo(){			
	StringBuffer sbf =new StringBuffer("abcde");
	System.out.println(sbf.reverse());

}

  • 方法三:先通过String中的toCharArray方法将字符串转换为数组,然后通过数组的逆遍历来实现字符串的反转
public static void StringReversalThree(){ 
	String  st ="abcde";
	char [] arr = st.toCharArray();  
	for (int i = arr.length-1; i >=0; i--) {
		System.out.print(arr[i]);
	}
}
  • 方法四:通过递归的方式来实现字符串的反转
public static void StringReversalFour(String str){
	if(str==null || str.length() <= 1){
		return str;
}
	return StringReversalFour(str.substring(1))+str.charAt(0);
}

二.字符串的替换

字符串的替换有两种替换方式:

  • 方式一:replace(char oldChar,char newChar),该方法是用newChar替换此字符串中出现所有的oldChar,从而返回一个新的字符串
String s1="sparring with a purple porpoise";
s1.replace("p","y');
System.out.println(s1);//结果为:syarring with a yuryle yoryoise
  • 方式二:replaceAll(String old,String new)该方法是用new指定的字符串替换old指定的所有字符串,从而返回一个新的字符串
String regex="(wqnmlgb|cnm|mmp|mmp|sb|nc)";
		String message="mmp!cnm!你这个sb!你怎么这么nc!";
		message=message.replaceAll(regex, "***");
		System.out.println(message);结果为:***!***!你这个***!你怎么这么***!

三.回文

所谓的回文就是一个正读和反读都一样的字符串
例如:上海自来水来自海上
判断是否是回文的代码如下:

public static void palindrome(){
	String info="上海自来水来自海上";
		for(int i=0;i

以上便是我总结的字符串的反转,替换,回文的方式

你可能感兴趣的:(Java基础重点要掌握)