//*******************
//
// 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)