swift 4. 字符串

swift 4. 字符串,第1张

概述swift 4. 字符串 标签:swift 2. 用前缀或后缀法比较字符串 用hasPrefix和hasSuffix这2个字符串的对象方法,来判断和比较,他们返回boolean值的true或falsely 看个例子: //申明一个字符数组,后面会讲到var string1 = [ "Act1:1:Dojo", "Act1:2:Do", "Act1:3:Dojo", swift 4. 字符串

标签:swift

2. 用前缀或后缀法比较字符串

hasPrefixhasSuffix这2个字符串的对象方法,来判断和比较,他们返回boolean值的true或falsely

看个例子:

//申明一个字符数组,后面会讲到var string1 = [    "Act1:1:Dojo","Act1:2:Do","Act1:3:Dojo","Act1:4:Dojo"]//申明2个整型变量,记住中间要用逗号啊。var j = 0,k = 0,d = 0for i in string1 {    if i.hasPrefix("Act1") {        j++    }    if i.hasSuffix("Do"){        k++    }    if i.containsstring("Do") {        d++    }}print("有Act前缀的数有\(j)个") //输出4print("有Do后缀的数有\(k)个") //输出1print("包含Do的数有\(d)个") //输出4
3. 大小写转换

大小写转换是一般的语言中都会有的函数方法,swift中用字符串对象的属性uppercaseStringlowercaseStringcAPItalizedString来转换,记住是属性。不是函数,也不是方法:

//大小写转换var string2 = "hi,my name is yangyi,what`s your name?"var string3 = "hi,My name IS Yangyi,what`s your name?"var string4 = "hi,what`s your name?"var string_upp = string2.uppercaseStringvar string_lower = string3.lowercaseStringvar first_upp = string4.cAPItalizedStringprint("全部大写\(string_upp)") //全部大写HI,MY name IS YANGYI,WHAT`S YOUR name?print("全部小写\(string_lower)") //全部小写hi,what`s your name?print("首字母大写\(first_upp)") //首字母大写Hi,My name Is Yangyi,What`s Your name?

我顺便来复习下其他语言中是如何大小写转换的:

//JavaScriptvar a = "hello";var b = "HellO";var a_upper = a.toupperCase();  //大写var a_lower = a.tolowerCase();  //小写
//PHP$a = "hello,word!";$a_upper = strtoupper($a); //转换成大写$b_lower = strtolower($b); //转换成小写$first_upper = ucfirst($b); //首字母大写
4. 遍历一个字符串

在swift2中遍历字符串得用字符串的一个 characters属性:

var str = "Hello,Swift~"for c in str.characters {    print(c,terminator: " ")}

输出:

H e l l o,S w i f t ~
5. 获取字符串中的某个字符

swift2中不能用str[0],str[1]等方式,得用index索引的方式,定位到位置:

startIndex 标示字符串的0开始的一个索引

var str = "Hello,Swift"let startIndex = str.startIndex  //0startIndex  //0str[startIndex] //H

advancedBy 从索引位置开始取第几个值

var str = "Hello,Swift"let startIndex = str.startIndex  //0startIndex  //0str[startIndex.advancedBy(1)] //estr[startIndex.advancedBy(7)] //S

predecessor 取前一个 succesor 取后一个

var str = "Hello,Swift"let startIndex = str.startIndex  //0let spaceIndex = startIndex.advancedBy(6) // " "定位到空格str[spaceIndex.predecessor()] // 空格前是","str[spaceIndex.successor()] // 空格后是"S"

endindex 最后一个字符索引。

var str = "Hello,Swift"let endindex = str.endindex // 13 最后一位是13。str[endindex.predecessor()] //但是13没有,只有12.所以得取前一个。

所以,startIndex 和 endindex是一个前闭后开 0..<13这样的结构。

Range 去一个区间的字符

str[startIndex..<spaceIndex] // Hello,

其它的一些字符串的函数用法:

let range = startIndex..<spaceIndex.predecessor() // 生成一个range 0..<5str.replaceRange(range,with: "Hi") // 替换一个区间 Hi,Swiftstr.appendContentsOf("!!!") // 在尾部追加 "Hi,Swift!!!"str.insert("?",atIndex: str.endindex) //在一个索引出,插入一个字符 Hi,Swift!!!?str.removeAtIndex( str.endindex.predecessor() ) // 移除一个字符,在索引处。 // 返回 ?str.removeRange( str.endindex.advancedBy(-2)..<str.endindex ) //移除一个区间。Hi,Swift!
总结

以上是内存溢出为你收集整理的swift 4. 字符串全部内容,希望文章能够帮你解决swift 4. 字符串所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1072842.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存