本文主要是介绍求字符串中变换位置问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题:编写一函数求某一字符串如"ad2**cef***3e",将"*"置前,其它字符串位置不动,上面字符串返回"*****ad2cef3e",并返回"*"号个数5。
思路:
1、从数组中找到*号,放到新字符串里,同时将*号从原字符串中删除;
2、 然后将原字符串拼接到新字符串后面。
下面是代码:
public static void changePosition() {/*** 思路:1、从数组中找到*号,放到新字符串里,同时将*号从原字符串中删除;* 2、 然后将原字符串拼接到新字符串后面*/String str = "ad2**cef***3e";int count = 0;//记录*号总数//遍历字符串,将其中的*号放入StringBuilder中StringBuilder builder = new StringBuilder();for (int i = 0; i < str.length(); i++) {String temp = str.substring(i, i + 1);if (temp.equals("*")) {builder.append(temp);count++;}}//将str字符串中的*号全部去掉str = str.replaceAll("\\*", "");//将去掉*号的字符串拼接到StringBuidler后面(StringBuilder中放的是*号)builder.append(str);System.out.println(builder.toString());System.out.println("*号的个数是:" + count);}
这篇关于求字符串中变换位置问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!