-4
我需要创建输入将是字符串的方法,例如:asd321tre2。 输出应该是:eas321dtr2。字符应该向前移动一个位置,但数字应保持在同一位置。 输入:字符串s1 =“abc23sd23”; 输出:字符串s2 =“dab23cs23”;在字符串中移动字符而忽略编号
public static String revertTheString (String s) {
String helper = s.replaceAll("\\d", "");
helper = helper.substring(helper.length()-1) + helper.substring(0, helper.length()-1);
int start = 0, end = 0;
StringBuilder revert = new StringBuilder(s);
for (int i = 0; i< s.length(); i++) {
if(Character.isDigit(s.charAt(i))){
end = i;
revert = revert.replace(start, end, helper.substring(start, end));
while(Character.isDigit(s.charAt(i))){
i++;
start = i;
}
}
}
return revert.toString();
}
告诉我们您的代码,请 – haifzhan
[欢迎的StackOverflow(https://stackoverflow.com/tour)。请阅读我们的[问]页面提示如何改善您的 问题。好的问题往往会从社区中产生更快,更好的答案。 – ochi