【问题标题】:Creating A Substring | Swift 4 [duplicate]创建子字符串 |斯威夫特 4 [重复]
【发布时间】:2018-12-29 14:03:31
【问题描述】:

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

我想转换:

“你好,世界!”

进入:

“你好”

【问题讨论】:

    标签: arrays swift substring


    【解决方案1】:

    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))
    

    打印出来:

    “你好”

    工作原理

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

    感谢您的光临。我希望苹果尽快将这个基本功能添加到他们的语言中!上面的代码有点乱,如果有人想清理它,请随意!

    【讨论】:

    • 谁告诉你它没有??
    • 嗯,没有像python这样的基本子字符串函数。我认为这对像我这样的初学者很有用
    • 如果你的范围是 4,你应该得到 Hell not Hello
    • 顺便说一下命名范围的长度是误导
    • 查看stackoverflow.com/q/39677330/1187415(您的问题是重复的)或stackoverflow.com/q/24092884/1187415 的各种答案以获得更有效的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-02
    • 2018-01-21
    • 2023-03-20
    • 1970-01-01
    • 2017-07-22
    • 2017-03-24
    • 1970-01-01
    相关资源
    最近更新 更多