我用正则写了一个方法,大家来找茬
public static String Reverse(String todo) {
// [Neo] 获取非字母数组
Pattern pattern = Pattern.compile("\w+");
String[] wStrings = pattern.split(todo);
// [Neo] 获取字母数组
pattern = Pattern.compile("\W+");
String[] wStrings2 = pattern.split(todo);
String resultString = "";
// [Neo] 判断结尾
pattern = Pattern.compile("\w+$");
if (pattern.matcher(todo).find()) {
for (int i = wStrings.length - 1, j = wStrings2.length - 1; i >= 0 && j >= 0; i--, j--) {
resultString += wStrings2[j] + wStrings[i];
}
} else {
for (int i = wStrings.length - 1, j = wStrings2.length - 1; i >= 0 && j >= 0; i--, j--) {
resultString += wStrings[i] + wStrings2[j];
}
}
return resultString;
}
祝好,
斑驳敬上