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

问题描述 投票:-4回答:2

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

样本输出ab2a3c3

java string
2个回答
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作为参数


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);

    }
© www.soinside.com 2019 - 2024. All rights reserved.