我的输出类似于下面显示的内容:
RRRYYYYYGGYGGGGGYRRRRRYYYYGBBBGYYYYYRRRRYYYYGBBBBYYYYYRRRRYYYYGBBBBRRRRRRRRRRRRRYBBBBGGGGGGGGGRRRRGGGGGGGGGGBBBBBBBBBRRRRGGGGGBBBBBBBBBGYGGBBBBBGGYRBBBBBGGGGBBBBGGGGGBBBBGGYYGBBBBGGGGGBBBBRRRRGGGGGBBBYYYRGGGGYYYYYYYYYYYYGGYYYGGGBGGYYYYGGGGGBBBBBBBBGYRYYGGGGGBBBBBBBBGYRYGGGGGGGGGGBBBBBGGGGGGGGGBBBBBBRRRRRRRYYYYYYYYYYYYYYYYYYRRRRYYYYYGGGGGYYYYYYYYYYYYYRYYYRRRGGYYYYYYYYYRRRRGRRRRYYYYYYYYYRRRRRYYYYYYY
我希望创建一个新的字符串或数组,根据其分组列出字符。例如,新数组将开始如下:RYGGRYBYR ....有些字母是错误的,不应该被考虑,例如第6个' Y'。我该怎么办呢?如果您希望我澄清我的目标,请发表评论。感谢。
答案 0 :(得分:1)
试试这样:
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"