iOS SDK詳解之NSScanner-分析String

來源:互聯網
上載者:User

標籤: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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.