; 这样我就可-6ren">
gpt4 book ai didi

ios - Swift 中的字符串操作(子字符串)

转载 作者:行者123 更新时间:2023-11-28 10:25:47 27 4
gpt4 key购买 nike

如果我有如下字符串:

"abc; expire=Thu, 16-Oct-2014 16:46:53 GMT; path=/;",我正在尝试提取 expire= 和下一个 之间的所有内容>; 这样我就可以获得时间戳,我将如何在 Swift 中执行此操作?我完全被字符和 StringIndex 的想法搞糊涂了。我觉得下面的代码会给我 "expire=":

字符串中的位置

var range = cookie!.rangeOfString("expires=");

但是我不明白我应该从那里去哪里。

在类似 Java 的语言中,算法类似于:

1) 定位“expires=”的索引;

2) 将“expires=”之后的所有子串取到完整字符串的末尾;

3) 在子字符串中查找第一次出现的“;”

4) 从索引 0 到索引 3 中的所有内容都是过期时间戳。

您如何处理 Swift 字符串?

最佳答案

在 Swift 中,您可以使用正则表达式搜索字符串,而无需处理 NSRegularExpression明确地:

let str = "abc; expire=Thu, 16-Oct-2014 16:46:53 GMT; path=/;"
let range = str.rangeOfString("(?<=expire=)[^;]*", options: .RegularExpressionSearch)
if let range = optRange? {
print(str.substringWithRange(range))
} else {
print("Not found")
}

正则表达式很简单:[^;]*表示“直到第一个分号的一系列字符”; (?<=expire=)意思是“仅当前面有 expire= 字符串时才匹配”。

Demo.

关于ios - Swift 中的字符串操作(子字符串),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26166775/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com