我的输出类似于如下所示:
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"