我想迭代一个带条件的String,在1次迭代中跳过2个或更多个字符。 C ++中的示例代码
// str = "123"
for (int i = 0; i < str.size(), i++) {
if (str[i] == '2') {
// do something
i++;
}
// do something
}
我的Swift版本是这样的,但是在迭代完成之后,会出现一个错误:
“致命错误:无法从空字符串形成字符”
// str = "123"
for var index = str.startIndex; index != str.endIndex; index = index.advancedBy(1) {
if (str[index] == "2") {
// do something
index = index.advancedBy(1)
}
// do something
}
我想这是我错的地方,"index != str.endIndex"
如何解决此问题或以其他方式实现此目标?