//*******************
//
// Swift调用OC之NSString
//
//*******************
import Foundation //必须的
var int1 = 100
var string = NSString(format: "%@, %@, %i", "Hello","WOrld",int1) //"Hello, WOrld, 100"
string.lowercaseString //hello, world, 100"
string.stringByReplacingOccurrencesOfString("WOrld", withString: "swift") //Hello, swift,100"
//*********************
//
// <<字符串操作>>
// 1.NSString与String互转
// 2.拆分字符串(下面都是NSString类型才有的方法)
// --componentsSeparatedByString
// --componentsSeparatedByCharactersInSet
// --substringFromIndex
// --substringToIndex
// --substringWithRange
// 3.查找字符串
//
//*********************
//*******************************
//**** 1.NSString与String互转 ****
//*******************************
let string1 = "Hello World"
println(string1.lowercaseString) //"hello world"
var string2 = NSString(string:"123")
//toInt是String类型独有的方法,NSString没有,因此不能直接调用
//但是可以用as将NSString转换为String,就可以使用toInt方法了
var num1 = (string2as String).toInt() //{Some 123}
//****************************
//******** 2.拆分字符串 ********
//****************************
//NSString的componentsSeparatedByString方法:以某个字符为单位将字符串拆分成数组
let string3: NSString = "apple, ios, swift, string"
letsubStringArray1 = string3.componentsSeparatedByString(",") //["apple", " ios", " swift"," string"] 空格不会去掉,空格也是一个字符
//NSString的componentsSeparatedByCharactersInSet方法:以一系列字符为单位将字符串拆分成数组
let string4: NSString = "apple, ios: swift; string"
let subStringArray2 = string4.componentsSeparatedByCharactersInSet(NSCharacterSet(charactersInString: ",:;")) //"apple"," ios", " swift", " string"]
//指定字符串的起始位置,获得截取的字符串
let comment: NSString = "Hello, world! Welcome to Swift."
println(comment.substringFromIndex(8)) //orld! Welcome to Swift.
println(comment.substringToIndex(8)) //Hello, w
println(comment.substringWithRange(NSMakeRange(1, 4))) //ello ps:参数是起始index和长度
//****************************
// **** 查找字符串 ****
// 1.rangeOfString方法:返回NSRange类型的结构体(即起始位置和长度)
//****************************
let string5: NSString = "apple, ios: swift; String, QQHAHA"
let nsrange1 = string5.rangeOfString("swift") //返回(12,5)
let nsrange2 = string5.rangeOfString("cocoa") //找不到
if nsrange2.location == NSNotFound {
println("not foundcocoa")
}
//返回的是查找到第一个匹配的NSRange
let nsrange3 = string5.rangeOfString("S") //(19,1)
//如果要不区分大小写进行查找:
let nsrange4 = string5.rangeOfString("S",options: NSStringCompareOptions.CaseInsensitiveSearch)//(9,1)
//可以根据NSStringCompareOptions定制不同的查找方法,比如下面是从尾巴开始查找
let nsrange5 = string5.rangeOfString("S",options: NSStringCompareOptions.BackwardsSearch)//(19,1)