码迷,mamicode.com
首页 > 编程语言 > 详细

Swift语言中 String 的一些操作方法

时间:2014-11-05 23:01:57      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:des   style   http   io   color   ar   java   sp   on   

整理自慕课网liuyubobobo老师在《玩儿转Swift》课程中的讲解,在此表示感谢!同时推荐这套视频课程http://www.imooc.com/learn/127

var str = "Welcome to Play Swift! Step by step to learn Swift."

// Range的用法和相关字符串的操作代码片段
 str.rangeOfString(“Step”)  // 字符串片段“Step”所处的字符范围 23..<27, 也即第22~26的范围位置

另举一个更简单的例子:

var s1 = "123456789"

s1.rangeOfString("23”) ->>> {some “1..<3”}, 返回一个类型为NSRange的范围1~2,实际是2~3因为index以0开始计算。

注意此处NSRange,苹果文档解释为

A structure used to describe a portion of a series—such as characters in a string or objects in an NSArray object. 


继续, 以下时反向查找,返回NSRange类型

str.rangeOfString("Swift", options: NSStringCompareOptions.BackwardsSearch) ->>> {some 45..<50}

此处options还可以为 CaseInsensitiveSearch,也即大小写不敏感的查找模式

str.startIndex  ->>> 0
str.endIndex   ->>> 51, 此处可理解为该字符串总长度为51,有一共51个字符

let aRange = Range<String.Index>(start:str.startIndex, end:str.endIndex)

以上常量aRange是一个NSRange类型的值, 也即是 0..<51, 表示变量str所指向的字符串的范围

需要注意的是,在Java等语言中,数组和字符串下标index是Int类型,但在Swift,index下标是String.Index类型。

let startIndex:String.Index = str.startIndex
let endIndex:String.Index = advance(str.startIndex, 12) //设置后下标,由前下标后挪12位获得

let searchRange = Range<String.Index>(start:startIndex, end:endIndex) //设置一个range,其实就是0..<10

str.rangeOfString("to", options: NSStringCompareOptions.CaseInsensitiveSearch, range:searchRange) // 在指定的range内搜索字符串to,模式为大小写不敏感,返回在该range内找到的指定字符串的range..,也即 {Some "8..<10"}

Swift语言中 String 的一些操作方法

标签:des   style   http   io   color   ar   java   sp   on   

原文地址:http://www.cnblogs.com/summer2012/p/4077498.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!