如何剪切字符串的最后一个字符并将其快速保存为变量?

马克·迪伦·B·梅卡多

我有一串 test@me

现在,我想创建一个代码,让我可以剪切出@is并将其保存为变量,因此预期结果是string1 = test string2 = @me

代码将是这样的

func test(string: String) {
    var mString = string
    var cuttedString = mString.cutFrom("@")
    
    print(mString)
    print(cuttedString)
}

test(string: "test@me")

结果:

test
@me
瓦瓦瓦玛

这是其中一种extensionString可以执行您想要的功能。它需要aStringString通过删除该部分上的所有内容来改变该调用,然后返回被删除的部分。

import Foundation

extension String {
    mutating func cut(from string: String) -> String {
        if let range = self.range(of: string) {
            let cutPart = String(self[range.lowerBound...])
            self.removeSubrange(range.lowerBound...)
            return cutPart
        }
        else {
            return ""
        }
    }
}

func test(string: String) {
    var mString = string
    let cutString = mString.cut(from: "@")
    
    print(mString)
    print(cutString)
}

test(string: "test@me")
test
@me

一个通用的实现

这是@LeoDabus在评论中建议的通用实现:

extension StringProtocol where Self: RangeReplaceableCollection {
    @discardableResult mutating func removeSubrange<S: StringProtocol>(from string: S) -> SubSequence {
        guard let range = range(of: string) else { return "" }
        defer { removeSubrange(range.lowerBound...) }
        return self[range.lowerBound...]
    }
}

它很好地展示了:

  1. 扩展协议而不是String允许该函数与其他类型一起使用,例如String.Subsequence
  2. 使用,@discardableResult可以调用函数以缩短,String而无需使用返回的子字符串。
  3. 如果范围为,则使用guard let语句解开可选的返回值range(of:)并提供较早的退出nil
  4. 使用defer延迟删除子字符串,直到返回子字符串之后,这避免了使用局部变量。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从之前被 char 分割的字符串中剪切最后一个字符

来自分类Dev

如何从C中的字符串保存最后一个字符?

来自分类Dev

如何从字符串数组获取特定值并将其保存到另一个字符串数组?

来自分类Dev

在java中,如何在字符串中查找单词并将其复制到另一个字符串变量中?

来自分类Dev

获取一个字符串数组并将其用作列名

来自分类Dev

操作一个字符串并将其作为 html 返回

来自分类Dev

获取一个字符串并将其放在行的开头,直到找到下一个字符串

来自分类Dev

如何在字符串中获取子字符串并将其存储在另一个字符串中

来自分类Dev

如何将字符串的最后一个字符分配给变量?

来自分类Dev

输入一个字符串,剪切第一个字符,然后转换为 int

来自分类Dev

如何找到一个字符串并将其选择到php中的结尾(未知)

来自分类Dev

如何分离一个字符串并将其作为矢量读入R中?

来自分类Dev

如何Json.Encoding一个字符串并将其用作“隐藏输入”字段的“值”?

来自分类Dev

如何计算一个字符串中的单个值并将其在php中加1

来自分类Dev

您如何从用户那里获取一个字符串并将其拆分?

来自分类Dev

查找字符串中的一个字符或一组字符并将其删除

来自分类Dev

如何检查bash字符串中的最后一个字符?

来自分类Dev

如何在TSQL中匹配字符串的最后一个字符?

来自分类Dev

如何提取长度未知的字符串的最后一个字符?

来自分类Dev

如何替换PostgreSQL中字符串的最后一个字符?

来自分类Dev

如何检索特定字符串之前的最后一个字符数组

来自分类Dev

如何在TSQL中匹配字符串的最后一个字符?

来自分类Dev

如何获取字符串中最后一个字符的位置?

来自分类Dev

如何从字符串中删除最后一个字符?

来自分类Dev

如何从IronPyhon中的字符串中删除最后一个字符?

来自分类Dev

如何获取字符串的最后一个字符

来自分类Dev

如何从mongodb中的字符串中获取最后一个字符?

来自分类Dev

如何替换字符串中的最后一个字符,JS

来自分类Dev

如果字符串javascript的最后一个字符,我如何摆脱?

Related 相关文章

  1. 1

    从之前被 char 分割的字符串中剪切最后一个字符

  2. 2

    如何从C中的字符串保存最后一个字符?

  3. 3

    如何从字符串数组获取特定值并将其保存到另一个字符串数组?

  4. 4

    在java中,如何在字符串中查找单词并将其复制到另一个字符串变量中?

  5. 5

    获取一个字符串数组并将其用作列名

  6. 6

    操作一个字符串并将其作为 html 返回

  7. 7

    获取一个字符串并将其放在行的开头,直到找到下一个字符串

  8. 8

    如何在字符串中获取子字符串并将其存储在另一个字符串中

  9. 9

    如何将字符串的最后一个字符分配给变量?

  10. 10

    输入一个字符串,剪切第一个字符,然后转换为 int

  11. 11

    如何找到一个字符串并将其选择到php中的结尾(未知)

  12. 12

    如何分离一个字符串并将其作为矢量读入R中?

  13. 13

    如何Json.Encoding一个字符串并将其用作“隐藏输入”字段的“值”?

  14. 14

    如何计算一个字符串中的单个值并将其在php中加1

  15. 15

    您如何从用户那里获取一个字符串并将其拆分?

  16. 16

    查找字符串中的一个字符或一组字符并将其删除

  17. 17

    如何检查bash字符串中的最后一个字符?

  18. 18

    如何在TSQL中匹配字符串的最后一个字符?

  19. 19

    如何提取长度未知的字符串的最后一个字符?

  20. 20

    如何替换PostgreSQL中字符串的最后一个字符?

  21. 21

    如何检索特定字符串之前的最后一个字符数组

  22. 22

    如何在TSQL中匹配字符串的最后一个字符?

  23. 23

    如何获取字符串中最后一个字符的位置?

  24. 24

    如何从字符串中删除最后一个字符?

  25. 25

    如何从IronPyhon中的字符串中删除最后一个字符?

  26. 26

    如何获取字符串的最后一个字符

  27. 27

    如何从mongodb中的字符串中获取最后一个字符?

  28. 28

    如何替换字符串中的最后一个字符,JS

  29. 29

    如果字符串javascript的最后一个字符,我如何摆脱?

热门标签

归档