使用swift 3从开始位置到结束位置切割字符串

多伊

我有形式为 string \ string 示例的字符串

"some sting with random length\233"

我想删除最后一个\并获取它之后的值,所以结果将是

"some sting with random length"
"233"

我试过这段代码,但它不起作用

let regex = try! NSRegularExpression(pattern: "\\\s*(\\S[^,]*)$")
if let match = regex.firstMatch(in: string, range: string.nsRange) {
    let result = string.substring(with: match.rangeAt(1))
}
马丁·R

您没有正确地将如何在字符串中最后一次出现字符后获取子字符串中的模式:Swift IOS适应您的情况。逗号的两个实例都必须用反斜杠替换,并且必须是“双重转义”:

let regex = try! NSRegularExpression(pattern: "\\\\\\s*(\\S[^\\\\]*)$")

(曾经在正则表达式模式中被解释为文字反斜杠,在 Swift 字符串文字的定义中再次被解释)。

但是,更简单的解决方案是找到最后一次出现的反斜杠并从该位置提取后缀:

let string = "some sting with random length\\233"
let separator = "\\" // A single(!) backslash

if let r = string.range(of: separator, options: .backwards) {
    let prefix = string.substring(to: r.lowerBound)
    let suffix = string.substring(from: r.upperBound)

    print(prefix)  // some sting with random length
    print(suffix)  // 233
}

Swift 4 更新:

if let r = string.range(of: separator, options: .backwards) {
    let prefix = string[..<r.lowerBound]
    let suffix = string[r.upperBound...]

    print(prefix)  // some sting with random length
    print(suffix)  // 233
}

prefix并且suffix是 a String.SubSequence,它可以在很多地方代替 a 使用String如有必要,创建一个真正的字符串:

    let prefix = String(string[..<r.lowerBound])
    let suffix = String(string[r.upperBound...])

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

python通过给定开始和结束位置的两个列表连接子字符串

来自分类Dev

PHP获取包含特定字符的子字符串的开始和结束位置

来自分类Dev

使用StringFormat的字符串位置

来自分类Dev

使用开始字符串和结束字符串从长字符串中提取子字符串?

来自分类Dev

根据开始和结束位置突出显示字符串中的子字符串

来自分类Dev

正则表达式通过用运算符(!,&,((),|)拆分所有字符串的开始和结束位置来获取String数组在Java中

来自分类Dev

在mysql中查找具有开始和结束位置的子字符串

来自分类Dev

在多个位置切割字符串的pythonic方法是什么?

来自分类Dev

仅使用抽象列表函数将字符串中的每个字母乘以字符串中的位置(从1开始)

来自分类Dev

字符串格式(Swift)中跳过了未使用的位置参数

来自分类Dev

如何使用sed匹配和切割具有不同条件的字符串?

来自分类Dev

根据已知的开始和结束位置分割网址字符串,各段之间的可选内容未知

来自分类Dev

如何获取字符串中行的开始位置和结束位置

来自分类Dev

VB.Net等效代码对于Mid $(字符串,开始位置,结束位置)=新字符串

来自分类Dev

如何在python中设置字符串的开始和结束位置?

来自分类Dev

如何结合使用GesturDetector来检测onScroll的结束位置?

来自分类Dev

使用开始字符串和结束字符串从长字符串中提取子字符串?

来自分类Dev

如何用字符串的开始和结束位置替换字符串

来自分类Dev

在mysql中查找具有开始和结束位置的子字符串

来自分类Dev

Swift 2在字符串中字符的位置

来自分类Dev

在多个位置切割字符串的pythonic方法是什么?

来自分类Dev

使用 sed 切割字符串

来自分类Dev

在特殊位置切割字符串 VBA

来自分类Dev

使用 bash 中的 cut 切割字符串的特定部分

来自分类Dev

选择字符串角度js的边界或开始和结束位置

来自分类Dev

R 使用位置切割日期,而不是实际日期

来自分类Dev

使用 Javascript 进行字符串切割

来自分类Dev

如何使用位置将 Swift 子字符串替换为 Un-Equal 子字符串?

来自分类Dev

在特定的开始结束位置替换字符串javascript

Related 相关文章

  1. 1

    python通过给定开始和结束位置的两个列表连接子字符串

  2. 2

    PHP获取包含特定字符的子字符串的开始和结束位置

  3. 3

    使用StringFormat的字符串位置

  4. 4

    使用开始字符串和结束字符串从长字符串中提取子字符串?

  5. 5

    根据开始和结束位置突出显示字符串中的子字符串

  6. 6

    正则表达式通过用运算符(!,&,((),|)拆分所有字符串的开始和结束位置来获取String数组在Java中

  7. 7

    在mysql中查找具有开始和结束位置的子字符串

  8. 8

    在多个位置切割字符串的pythonic方法是什么?

  9. 9

    仅使用抽象列表函数将字符串中的每个字母乘以字符串中的位置(从1开始)

  10. 10

    字符串格式(Swift)中跳过了未使用的位置参数

  11. 11

    如何使用sed匹配和切割具有不同条件的字符串?

  12. 12

    根据已知的开始和结束位置分割网址字符串,各段之间的可选内容未知

  13. 13

    如何获取字符串中行的开始位置和结束位置

  14. 14

    VB.Net等效代码对于Mid $(字符串,开始位置,结束位置)=新字符串

  15. 15

    如何在python中设置字符串的开始和结束位置?

  16. 16

    如何结合使用GesturDetector来检测onScroll的结束位置?

  17. 17

    使用开始字符串和结束字符串从长字符串中提取子字符串?

  18. 18

    如何用字符串的开始和结束位置替换字符串

  19. 19

    在mysql中查找具有开始和结束位置的子字符串

  20. 20

    Swift 2在字符串中字符的位置

  21. 21

    在多个位置切割字符串的pythonic方法是什么?

  22. 22

    使用 sed 切割字符串

  23. 23

    在特殊位置切割字符串 VBA

  24. 24

    使用 bash 中的 cut 切割字符串的特定部分

  25. 25

    选择字符串角度js的边界或开始和结束位置

  26. 26

    R 使用位置切割日期,而不是实际日期

  27. 27

    使用 Javascript 进行字符串切割

  28. 28

    如何使用位置将 Swift 子字符串替换为 Un-Equal 子字符串?

  29. 29

    在特定的开始结束位置替换字符串javascript

热门标签

归档