在字符串中查找数字字符并打印它们

时间:2017-12-22 10:32:04

标签: java string

我有一个字符串为“abbcccdddd”然后我想要一个程序,这样我就可以得到字符串中存在的字符数,它应该输出为“ab2c3d4” 希望以简单的方式和有效的方式获得ans。 样本输入 abbaaaccc

示例输出 ab2a3c3

2 个答案:

答案 0 :(得分:0)

这是一个针对您的问题的java函数:

public static String rleEncode(String toEncode) {
StringBuffer dest = new StringBuffer();
for (int i = 0; i < toEncode.length(); i++) {
    int runLength = 1;
    while (i+1 < toEncode.length() && toEncode.charAt(i) == toEncode.charAt(i+1)) {
        runLength++;
        i++;
    }
    dest.append(runLength);
    dest.append(toEncode.charAt(i));
}
return dest.toString();

}

只需将您的String作为参数

答案 1 :(得分:0)

这将完全符合您的期望。

public static void main(String[] args) {
    String s="abbaaaccc";
    StringBuffer result=new StringBuffer();
    for(int i=0;i<s.length();i++) {
        int charCount=1;
        while(i+1<s.length() && s.charAt(i) == s.charAt(i+1)) {
            charCount++;
            i++;
        }
        result.append(s.charAt(i));
        if(charCount>1) {
        result.append(charCount);
        }
    }
    System.out.println(result);

    }