从字符串中打印多个字符

时间:2016-01-11 19:13:48

标签: java

如果我有一个字符串" SSSAAADDDCCC"我将如何打印" SADC"。可以使用SubString完成,还是必须使用charAt()?

3 个答案:

答案 0 :(得分:1)

有一种简单的方法可以做到这一点 - 但是由于我没有看到任何代码,我认为你没有任何努力,我不会只给你答案。下面是一些psudo代码,您可以尝试找到正确的答案。祝你好运!

currentChar = myString.charAt(0);
i = 0;
print current character //as per comments, cover the base case
while(string has more characters)
    if current character != next character
       print next character
    i++

答案 1 :(得分:0)

使用正则表达式将所有重复字符替换为单个字符:

"SSSAAADDDCCC".replaceAll("(.)\\1+", "$1")   // returns "SADC"

(.)匹配并捕获一个字符 \\1+匹配捕获角色的一个或多个实例 $1用捕获的字符替换整个匹配值。

非重复字符不匹配,因此不在一起。

答案 2 :(得分:0)

如果你不喜欢charAt方法,你可以使用这样的子串:

int j=0;
String in="sssdddaaaccc";
String out="";
for(int i=0;i<4;i++)
{
    out=out+in.subString(j,j+1);
    for(j=j; j<3;j++);
}
System.out.println(out);