Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 在Swift中遍历字符串中的字符_String_Swift_Iteration - Fatal编程技术网

String 在Swift中遍历字符串中的字符

String 在Swift中遍历字符串中的字符,string,swift,iteration,String,Swift,Iteration,我想迭代一个字符串,条件是在一次迭代中跳过2个或更多字符。C语言中的一个示例代码++ // str = "123" for (int i = 0; i < str.size(), i++) { if (str[i] == '2') { // do something i++; } // do something } 我猜这是我弄错的地方,“index!=str.endIndex” 如何修复它或任何其他方法来实现这一点?advanc

我想迭代一个字符串,条件是在一次迭代中跳过2个或更多字符。C语言中的一个示例代码++

// str = "123" 
for (int i = 0; i < str.size(), i++) {
    if (str[i] == '2') {
        // do something
        i++;
    }
    // do something
}
我猜这是我弄错的地方,
“index!=str.endIndex”


如何修复它或任何其他方法来实现这一点?

advancedBy(i)
可能应该是
advancedBy(1)
谢谢@MartinR这是一个打字错误请注意,您的C++代码也有一个缺陷:如果最后一个字符是“2”,那么
i
的增量将超过字符串大小。
// 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
}