Swift学习笔记十七——导入Foundation使用更多字符串功能

我使用的Xcode版本为最新的Xcode6.3,所以这里不同的版本可能会有所不同。在Xcode6.3版本中,认创建playground项目时会导入一个UIKit包。但是如果没有导入UIKit包,可以通过import Foundation,来使用更多的字符串功能

(1)字符串首字母大写方法:capitalizedString

var str:String  = "hello,WORLD swift"

str.capitalizedString
str

输出结果如下:


结果分析:可以看到一句话中每个单词的首字母都大写了。但是最初的str的值并不会改变。


(2)字符串每个字母大写方法:uppercaseString

var str:String  = "hello,WORLD swift"

str.uppercaseString
str

输出结果如下:


结果分析:可以看到字符串中的每一个字母都大写了。但是最初的str值不会改变。


(3)字符串每个字母小写方法:lowercaseString

var str:String  = "hello,WORLD swift"

str.lowercaseString
str

输出结果如下:


结果分析:可以看到字符串的每一个字母都小写了。但是最初str的值并未改变。


(4)删除字符串前缀后缀方法:stringByTrimmingCharactersInSet

var str = "    hello  !!  "
str.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())

输出结果:


结果分析:调用whilespaceCharacterSet(),可以删除字符串前后的空格。



var str = "    hello  !!  "

str.stringByTrimmingCharactersInSet(NSCharacterSet(charactersInString:" !"))
输出结果:


结果分析:调用charactersInString:后面加入字符,就可以在原先字符串前后删除这些任意字符。


(5)字符串截取方法:componentsSeparatedByString与componentsSeparatedByCharactersInSet

有时候一个长的句子或者字符串需要进行截取,比如根据空格截取单词,根据特定的标点符号截取句子等等。

var str  = "welcome to play swift,I like"
str.componentsSeparatedByString(" ")
str.componentsSeparatedByString(",")

输出结果:


结果分析:可以在参数中填入单个的任意字符,方法会根据这个字符去分割原先的字符串。输出结果是一个数组。



var str  = "welcome to play swift,I like"

str.componentsSeparatedByCharactersInSet(NSCharacterSet.whitespaceCharacterSet())//该方法同以上方法;分割空格;
str.componentsSeparatedByCharactersInSet(NSCharacterSet(charactersInString: ","))//该方法可以在参数中填入多个字符作为参数,原先的字符串将会被这些参数所分割。
输出结果:


结果分析:第二个方法可以填入多个参数相对更为灵活。


(6)字符串联结方法:join

一个字符串数组可以通过某个字符把每个数组元素连接起来,就要用到join方法

let str = "-"
str.join(["1","2","3","4"])

输出结果:


结果分析:可以看到数组中的1 2 3 4 通过“-”连接在一起。


以上方法都在Foundation下,使对字符串的操作更加灵活方便。要在以后的学习开发中不断积累。


github主页:https://github.com/chenyufeng1991 。欢迎大家访问!

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...