当前位置: 首页 > 知识库问答 >
问题:

创建子字符串| Swift 4[重复]

司空坚
2023-03-14

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

我想转换:

“你好,世界!”

进入:

“你好”

共有1个答案

洪弘毅
2023-03-14

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

这个打印:

“你好”

工作原理

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

谢谢你过来。我希望苹果尽快将这一基本功能添加到他们的语言中!上面的代码有点凌乱,所以如果有人想清理它,请放心!

 类似资料:
  • 我是堆栈溢出的新手,我发现它非常有用,非常感谢一个伟大的社区。虽然我一直在了解 java 中的字符串,但我只是想知道字符串文字源代码是如何创建的?我理解了java中字符串的大部分概念。这是一种特殊的最终类,我也理解在创建 String 文字时,将在堆上创建一个对象,其引用将在字符串常量池中。通过使用这个。 我还了解到,当使用 new 运算符创建字符串时,引用将在堆上具有对象,并在字符串常量池中具有

  • 我用字符串变量在java中创建了一个for循环。我想向变量添加一个字符,直到该变量等于一组字符。我创建了for循环。控制台中没有显示错误。但是也没有输出”(我哪里错了?

  • 问题内容: 我有一个字符串形式: 依此类推(长度会有所不同)。由此创建字典的最简单方法是什么? 我知道我可以拆分,但是我无法获得正确的语法。如果我分开,那么我如何将这两个部分结合在一起? 对此进行迭代似乎很痛苦。 问题答案: 编辑:下一个解决方案是当您想要将值作为整数,我认为这是您想要的。

  • 假设我有一个字符串,如下所示: 我想把“abcd”换成“dddd”。我曾试图做这样的事: 它不起作用。有什么建议吗? 编辑:更具体地说,我在Java工作,我试图解析超文本标记语言文档,具体地说

  • 问题内容: 这是一个非常基本的问题。但是我无法在Java文档中找到答案,也无法对其进行测试,因为我不知道这种方法是否存在。 我可能会收到一个URL字符串,可能是 要么 然后我会得到可能以开头的资源路径,或者就像 我正在看课,可以处理第一部分,即获取hostURL使其成为HTTPS或HTTP请求。问题是附加资源路径。我必须手动检查它的第一个字母是否存在。我想知道此功能是否已经在某个类中。 问题答案: