字符串不管是Object-C还是Swift还是Java等等其他的语言,都可以说是重点,虽然不难,但是用到的地方却非常多,几乎都是字符串的处理,这一篇我们就来好好说说字符串:
创建一个可变字符串:
var stringA = "Hello, World!"
创建一个不可变字符串:
let stringB = "Hello, World!"
这里引入一个名词:字面量,上面的两个都是根据字面量创建的字符串,下面用初始化方法来创建。
创建一个初始化字符串:
var stringC = String("Hello, World!")
创建空字符串:
// 使用字符串字面量创建空字符串 var stringD = "" //""和nil是两码事,前面说过,但是他俩都属于empty,切记 if stringD.isEmpty { print( "stringD 是空的" ) } else { print( "stringD 不是空的" ) } // 实例化 String 类来创建空字符串 let stringE = String() if stringE.isEmpty { print( "stringE 是空的" ) } else { print( "stringE 不是空的" ) }
//以上,创建的字符串,var为可变(可修改),let为不可变(不可修改),跟前面变量说的是一致的,不论类型,都符合这一特性。
字符串插入:
var varA = 1 let constA = 2 var varC:Float = 3 //解释下\(varA),不管什么类型,要是插入到前后可以用+或者append(),但是插入到中间就不好插入了,而要把一个变量或者常量插入到字符串,肯定也要转化为字符串,\()的意思就是把括号内的参数转化为字符串,而且这么来拼接字符串更为方便 var stringA = "\(varA) 加 \(constA) 等于 \(varC )" print( stringA )
字符串拼接:
let strA = "Hello" let strB = "World" //拼接用“+”,还可用append var strC = strA + strB //var strC = strA.append(strB) print( strC )
字符串长度:
var str = "Hello World" 获取str长度:str.characters.count
字符串比较:
用“==”表示相等,“!=”表示不等,Object-C用isEqual
检查前缀和后缀:
hasPrefix(prefix: String) 检查字符串是否拥有特定前缀 hasSuffix(suffix: String) 检查字符串是否拥有特定后缀。 //用法如下 var firstStr:String = "Hello,World!" if firstStr.hasPrefix("Hello") { }
类型转化:
let string1: String = "100" let stringForInt: Int? = Int(string1)
最后再说一点:
var 你好 = "你好世界" var 能用汉字 = "z和不算错么" print(你好) print(能用汉字) 是的,你没看错,Swift支持使用汉语的命名
到最后,你可能看到还有一些方法没有列出来,对,实在太多了,用法和OC差不多,博主去看了几个方法,去年的方法,在新的Xcode中是报错的,已经被废弃了,Swift的稳定性还是有待提高。不知道往后再更新还会不会再替换,先不写了。