使用java语言,将字符串中接续重复出现的字母变成“出现次数“+字母的格式
使用java语言,将字符串中连续重复出现的字母变成“出现次数“+字母的格式
今天笔试题遇到了。
将一个字符串例如 hello ,最后输出变成he2lo
例如wwwaacbbd 变成 3w2ac2bd的字符串输出
能力有限,回来弄了半天,还是做不出来
------解决思路----------------------
我觉得楼上的答案不对,写了一个,你参考一下
------解决思路----------------------
------解决思路----------------------
正则替换
今天笔试题遇到了。
将一个字符串例如 hello ,最后输出变成he2lo
例如wwwaacbbd 变成 3w2ac2bd的字符串输出
能力有限,回来弄了半天,还是做不出来
------解决思路----------------------
我觉得楼上的答案不对,写了一个,你参考一下
------解决思路----------------------
import java.util.Scanner;
public class Robot {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String string=sc.nextLine();
getNumFromString(string);
}
private static void getNumFromString(String string) {
// TODO Auto-generated method stub
StringBuilder sb= new StringBuilder();
char c= string.charAt(0);
int count=1;
for (int i = 1; i < string.length(); i++) {
char s= string.charAt(i);
if (s==c) {
count++;
}
else {
if (count>1) {
sb.append(count);
sb.append(c);
count=1;
}else{
sb.append(c);
}
}
c=s;
}
sb.append(c);
System.out.println(sb.toString());
}
}
------解决思路----------------------
正则替换
String str = "wwwaacbbd";
String s="";
Matcher m=Pattern.compile("(\\w)\\1*").matcher(str);
while(m.find()){
s+=m.group().length()+m.group().subSequence(0, 1).toString();
}
System.out.println(s.replaceAll("1", ""));
--------3w2ac2bd