62,621
社区成员
发帖
与我相关
我的任务
分享package com.zr.csdn;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StringReverse {
public static void main(String[] args) {
String str ="How are you!";
String str1 = "";
Pattern p = Pattern.compile("([a-zA-Z]+)|([^\\w+ ])");
Matcher m = p.matcher(str);
while(m.find()){
int start = m.start();
int end = m.end();
str1 = str1 + str.substring(start,end) + " ";
}
String[] str2 = str1.split(" ");
for (int i = str2.length-1; i >=0; i--){
System.out.print(str2[i] + " ");
}
System.out.println();
System.out.println("**************************");
for (int i = str2.length-1; i >=0; i--){
Pattern p1 = Pattern.compile("[^\\w+]");
Matcher m1 = p1.matcher(str2[i]);
if(m1.find()){
System.out.print(" " + str2[i]);
}
else{
System.out.print(str2[i] + " ");
}
}
}
}
这个只对单符合适用,多符号可以稍微再改改String str="how are you!";
StringBuffer buffer=new StringBuffer(str);
System.out.println(buffer.reverse());
