我的输出类似于如下所示:
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyybbbbggggggggggggggggggggggggggggggggggggggggggggggggggbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbyyyyyyyyyrryyyyyyyyyyyygggyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
我希望创建一个新的字符串或数组,列出基于其分组的字符。例如,新数组的开头是:RYGGRYBYR。。。。有些字母是错误的,不应该被解释,比如第六个“Y”。我该怎么办?如果你想让我澄清我的目标,请发表评论。谢谢。

最佳答案

像这样试试:

let input = "RRRYYYYYGGYGGGGGYRRRRRYYYYGBBBGYYYYYRRRRYYYYGBBBBYYYYYRRRRYYYYGBBBBRRRRRRRRRRRRRYBBBBGGGGGGGGGRRRRGGGGGGGGGGBBBBBBBBBRRRRGGGGGBBBBBBBBBGYGGBBBBBGGYRBBBBBGGGGBBBBGGGGGBBBBGGYYGBBBBGGGGGBBBBRRRRGGGGGBBBYYYRGGGGYYYYYYYYYYYYGGYYYGGGBGGYYYYGGGGGBBBBBBBBGYRYYGGGGGBBBBBBBBGYRYGGGGGGGGGGBBBBBGGGGGGGGGBBBBBBRRRRRRRYYYYYYYYYYYYYYYYYYRRRRYYYYYGGGGGYYYYYYYYYYYYYRYYYRRRGGYYYYYYYYYRRRRGRRRRYYYYYYYYYRRRRRYYYYYYY"
var result: [Character] = []
var lastChar: Character?
var repetitions = 0
for char in input.characters {
    if char == lastChar {
        repetitions += 1
    } else {
        repetitions = 0
    }
    if repetitions == 1 {
        result.append(char)
    }
    lastChar = char
}

print(String(result))  // "RYGGRYBYRYBYRYBRBGRGBRGBGBGBGBGBGYBGBRGBYGYGYGGYGBYGBGBGBRYRYGYYRGYRRYRY\n"

10-04 20:58