字符串不管是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的稳定性还是有待提高。不知道往后再更新还会不会再替换,先不写了。