本博文采用java实现:对字符串中指定的部分进行旋转,如str="mmabcdfeffnn",指定abcdfeff部分进行旋转,则得到字符串str="mmffefdcbann"。
其实现的思路,我是这样的:将源字符串分为三部分,头,待旋转,尾,其中这三部分都需要进行采取截取的操作,而对于待旋转的部分,这里采用了一个技巧,那就是借用了StringBuffer(String string)作为中介,并调用其中的reverse()方法进行旋转。最后得到的三部分:头,已旋转,尾,进行连接concat(String string)操作即可。
代码如下:
/** * 字符串指定的部分进行反转 * @author zhonglinsen * 2016-3-1 下午 */public class StringReverse { public static void main(String[] args) { String str="mmabcdefnn"; int start=2; int end=7; System.out.println("原先字符串: "+str); String strNew=strReverse(str, start, end); System.out.println("旋转了指定位置后的字符串: "+strNew); } public static String strReverse(String strArg,int start,int end){ String strStart=strArg.substring(0,start); String strEnd=strArg.substring(end+1,strArg.length()); String strSub=strArg.substring(start, end+1); StringBuffer sb=new StringBuffer(strSub); strSub=sb.reverse().toString(); return strStart.concat(strSub).concat(strEnd); }}