67,550
社区成员




if (count>1) {
sb.append(count);
}
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
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());
}
}
public static void main(String[] args) {
String str = "awww.tttbbb.commm";
StringBuffer sb = new StringBuffer();
char lastChar = 0; //上次遇到的字符
int lastCharCount = 0; //上次遇到的字符 的数量
for(int i = 0; i < str.length(); i ++){
char c = str.charAt(i);
boolean isFirst = i == 0;
boolean isLast = i == str.length() - 1;
boolean change = false;
if(isFirst){
//第一个字符
lastChar = c;
}else{
//非第一个字条
change = c != lastChar;
}
if(change){
//字符切换
if(lastCharCount > 1){
sb.append(lastCharCount);
}
sb.append(lastChar);
lastChar = c;
lastCharCount = 1;
}else{
lastCharCount ++ ;
}
if(isLast){
//最后一个字符
if(change){
sb.append(c);
}else{
if(lastCharCount > 1){
sb.append(lastCharCount);
}
sb.append(lastChar);
}
}
}
System.out.println(sb.toString());
}
public static void main(String[] args) {
String str = "www.tttbbb.com";
StringBuffer sb = new StringBuffer();
boolean isFirstChar = true; //是否是第一个字符
char lastChar = 0; //上次遇到的字符
int lastCharCount = 0; //上次遇到的字符 的数量
for(int i = 0; i < str.length(); i ++){
char c = str.charAt(i);
if(isFirstChar){
//第一个字符
lastChar = c;
lastCharCount ++ ;
isFirstChar = false;
}else{
//非第一个字条
if( c == lastChar){
//字符重复
lastCharCount ++ ;
}else{
if(lastCharCount > 1){
//上一个字符数量大于1
sb.append(lastCharCount);
}
sb.append(lastChar);
lastCharCount = 0;
lastChar = c;
}
}
}
System.out.println(sb.toString());
}