2016-05-23 170 views
1

我在swift中读取文本配置文件,需要从ip地址中提取数字和小数。该config.txt的文件包含线 - IP地址:192.0.168.1在Swift中从文本文件中提取数字和字符

到目前为止,我有─

let path = "/config.txt" 

    do { 
     // Use contentsOfFile overload. 
     // ... Specify ASCII encoding. 
     // ... Ignore errors. 
     let data = try NSString(contentsOfFile: path, encoding: NSASCIIStringEncoding) 

     // If a value was returned, print it. 


     let str = data 
     let intString = str.componentsSeparatedByCharactersInSet(NSCharacterSet 
       .decimalDigitCharacterSet() 
       .invertedSet) 
      .joinWithSeparator("") 

     print(data) 
     print(intString) 
    } catch { 
    } 

当然,这将返回IP地址的只是数字。我在得到的192.0.168.1

+0

你收到了一个192,0,168,1的数组吗? – sargeras

+0

目前,打印输出的内容是:ip地址:172.19.24.28 172192428 – richsb

回答

0

正确的格式,如果有总是 IP地址之前相同"ip address: "文本难倒了,那么它的超级简单:

let str = "ip address: 192.0.168.1" 

if let intString = str.componentsSeparatedByString("address: ").last { 
    print(intString) 
} 

打印:

192.0.168.1