求字符串中变换位置问题

xiaoxiao2021-02-28  68

问题:编写一函数求某一字符串如"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); }

转载请注明原文地址: https://www.6miu.com/read-55632.html

最新回复(0)