我想从匹配正则表达式模式的字符串中提取子字符串.
所以我正在寻找这样的东西:
func matchesForRegexInText(regex: String!, text: String!) -> [String] {
???
}
Run Code Online (Sandbox Code Playgroud)
所以这就是我所拥有的:
func matchesForRegexInText(regex: String!, text: String!) -> [String] {
var regex = NSRegularExpression(pattern: regex,
options: nil, error: nil)
var results = regex.matchesInString(text,
options: nil, range: NSMakeRange(0, countElements(text)))
as Array<NSTextCheckingResult>
/// ???
return ...
}
Run Code Online (Sandbox Code Playgroud)
问题是,这matchesInString提供了我的一个数组NSTextCheckingResult,其中NSTextCheckingResult.range的类型的NSRange.
NSRange是不相容的Range<String.Index>,所以它阻止我使用text.substringWithRange(...)
有没有想过如何在没有太多代码的情况下在swift中实现这个简单的事情?
我一直在寻找几天将一个相当简单的JSON字符串转换为Swift中的对象类型,但无济于事.
这是Web服务调用的代码:
func GetAllBusiness() {
Alamofire.request(.GET, "http://MyWebService/").responseString { (request, response, string, error) in
println(string)
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个快速结构Business.swift:
struct Business {
var Id : Int = 0
var Name = ""
var Latitude = ""
var Longitude = ""
var Address = ""
}
Run Code Online (Sandbox Code Playgroud)
这是我部署的测试服务:
[
{
"Id": 1,
"Name": "A",
"Latitude": "-35.243256",
"Longitude": "149.110701",
"Address": null
},
{
"Id": 2,
"Name": "B",
"Latitude": "-35.240592",
"Longitude": "149.104843",
"Address": null
}
...
]
Run Code Online (Sandbox Code Playgroud)
如果有人引导我完成这件事,那将是一件令人高兴的事.
谢谢.