標籤:ios string 掃描 nsscanner
原創blog,轉載請註明出處
blog.csdn.net/hello_hwc
歡迎關注我的iOS SDK詳解專欄,這裡有很多基礎的文章
http://blog.csdn.net/column/details/huangwenchen-ios-sdk.html
前言:NSScanner是分析String,把String轉為substring和數位很好的工具。它使用一個NSString初始化,使用的時候通常從開頭處掃描直到結尾。
本文會先舉出兩個例子,然後詳細的講解NSScanner的方法。源碼是Swift版本,可以直接複製到Playground裡執行。
例子一
分析固定格式的String
//格式是這樣的 - CSDN://[User:名字]~[URL:連結]~[ID:標識符]var str = "CSDN://[User:WecnhenHuang]~[URL:blog.csdn.net]~[ID:123456]"var scanner = NSScanner(string: str)scanner.scanString("CSDN://[User:", intoString: nil)var name:NSString? = nilvar url:NSString? = nilvar id:NSString? = nilscanner.scanUpToString("]~[URL:", intoString: &name)scanner.scanString("]~[", intoString: nil)scanner.scanUpToString("]~[", intoString: &url)scanner.scanString("]~[ID:", intoString: nil)scanner.scanUpToString("]", intoString: &id)
分析過後,
例子二
分析十六進位字串
ar str = "0x11ff"var scanner = NSScanner(string: str)scanner.scanLocation = 2var a:UInt32 = 0scanner.scanHexInt(&a)
結果
a//4607
方法樣本
caseSensitive // 忽略大小寫charactersToBeSkipped // 忽略某些字元集locale // 地區- scanCharactersFromSet:intoString: // 把charSet中的掃描到string 中- scanUpToCharactersFromSet:intoString://直到掃描到chartset,把掃描到的儲存到String中- scanDecimal: // 掃描十進位- scanHexInt:// 掃描十六進位到Int裡
更多的文檔
https://developer.apple.com/library/prerelease/ios/documentation/Cocoa/Reference/Foundation/Classes/NSScanner_Class/index.html
iOS SDK詳解之NSScanner-分析String