相关疑难解决方法(0)

将 JavaScript 正则表达式转换为 Swift 正则表达式

我正在学习 Swift,我正在尝试将一小段 JavaScript 代码转换为 Swift。JavaScript 代码使用 Regex 拆分字符串,如下所示:

var text = "blah.clah##something_else";
var parts = text.match(/(^.*?)\#\#(.+$)/);
Run Code Online (Sandbox Code Playgroud)

执行后,该parts数组将包含以下内容:

["blah.clah##something_else", "blah.clah", "something_else"]
Run Code Online (Sandbox Code Playgroud)

我想在 Swift 中复制相同的行为。下面是我编写的使用正则表达式将字符串拆分为字符串数组的 Swift 代码:

func matchesForRegexInText(regex: String!, text: String!) -> [String] {
do {
    let regex = try NSRegularExpression(pattern: regex, options: NSRegularExpressionOptions.CaseInsensitive)
    let nsString = text as NSString
    let results = regex.matchesInString(text,
        options: NSMatchingOptions.ReportCompletion , range: NSMakeRange(0, nsString.length))
        as [NSTextCheckingResult]
    return results.map({
        nsString.substringWithRange($0.range)
    })
} catch {
    print("exception")
    return [""]
}
Run Code Online (Sandbox Code Playgroud)

}

当我使用以下命令调用上述函数时:

matchesForRegexInText("(^.*?)\\#\\#(.+$)", text: "blah.clah##something_else")
Run Code Online (Sandbox Code Playgroud)

我得到以下信息: …

regex swift

1
推荐指数
1
解决办法
3204
查看次数

标签 统计

regex ×1

swift ×1