创建一个子字符串斯威夫特4

时间:2018-07-21 13:13:13

标签: arrays swift substring

如何在Swift 4中对字符串进行子字符串化。

我想转换:

  

“你好,世界!”

进入:

  

“你好”

1 个答案:

答案 0 :(得分:-3)

Swift没有内置函数可以简化此操作,因此我编写了一个简单的扩展程序,以获取与其他语言(如python)一样的功能,这些语言具有非常简单的子字符串功能。

扩展

在课程之外,为字符串添加此扩展名。

extension String {
    func substring(start: Int, range: Int) -> String {
        let characterArray = Array(self)
        var tempArray:[Character] = []
        let starting = start
        let ending = start + range
        for i in (starting...ending) {
            tempArray.append(characterArray[i])
        }
        let finalString = String(tempArray)
        return finalString
    }
}

用法

let myString = "Hello, World!"
print(myString.substring(start: 0, range: 4))

此打印:

  

“你好”

工作原理

扩展名的工作方式是将字符串转换为单独的字符数组,然后创建一个循环,该循环将所需的字符附加到由函数的参数确定的新字符串中。

感谢您的光临。希望苹果尽快将其基本功能添加到他们的语言中!上面的代码有点混乱,因此如果有人要清理它,那就放心吧!