swift 字符串
一、创建空字符串
//-------------定义一个空字符串第一种方法
var str1=""
//-------------定义一个空字符串第二种方法
var str2 = String()
二、判断字符串是否为空 (isEmpty)
//-----------判断字符串是否为空
var str3:String = ""
if str3.isEmpty { //isEmpty是字符串的一个属性,判断字符串是否为空
print("str3的值是空")
}
else{
print("str3的值不为空")
}
三、字符串的转义符
\0 空字符
\\ 反斜杠
\t 制表符
\n 换行符
\r 回车符
\” 双引号
\’ 单引号
四、字符串拼接
//-----------多个字符串变量拼接 用 + 来拼接
var str4 = "hello"
var str5 = " swift"
var str6 = str4+str5 //字符串变量拼接
print("str6=\(str6)")
//-----------字符串变量和常量用+或 +=来拼接
var str7="hello "
str7 += "swift" //字符串变量和字符常量拼接可以用+= 拼接
print("str7=\(str7)")
五、字符串比较
var strA = "Hello"
var strB = "Hello"
//-----------字符串相等 == -------
if strA == strB{
print("字符串-相等")
}
else{
print("字符串-不相等")
}
//-----------字符串前缀相等 hasPrefix---------
if strA.hasPrefix("H"){
print("字符串前缀-相等")
}
else{
print("字符串前缀-不相等")
}
//-----------字符串后缀相等 hasSuffix---------
if strA.hasSuffix("o"){
print("字符串后缀-相等")
}
else{
print("字符串后缀-不相等")
}
六、字符串 大小写转换
//-----------字符串大写转换
var strB = strA.uppercased() //uppercaseString 字符串大写转换
print (strB)
//------------字符串小写转换
var strC = strA.lowercased() //lowercaseString 字符串转换小写
print(strC)
七、字符串遍历 (for in)
var str = "ABC"
/*
1:str 是字符串变量 是字符集合
2:temp是临时变量
3:for in 会遍历 字符集合,然后把每个集合赋值临时变量temp
*/
for temp in str.unicodeScalars {
print(temp)
}
let str="mandarava"
for ch in str.characters{
print(ch)
}
八、拆分字符串
let str = "Apple,iOS,Swift,String"
let stringArray = str.components(separatedBy: ",")
for sub in stringArray{
print(sub)
}
//含有多个不同的字符
let str1 = "Apple,iOS;Swift,String"
let stringArray = str1.components(separatedBy: CharacterSet.init(charactersIn: ",;"))
for sub in stringArray{
print(sub)
}
九、字符串转换
let number = "100"
print(Int(number) ?? 0)
print((number as NSString).floatValue)
print((number as NSString).intValue)
print((number as NSString).integerValue)
print((number as NSString).longLongValue)
print((number as NSString).doubleValue)
var str3="true"
print((str3 as NSString).boolValue)
十、字符串长度
let str = "dsdsd"
let len1 = str.characters.count
print(len1)
let len2 = str.lengthOfBytes(using: String.Encoding.utf8)
print(len2)
十一、字符串包含
let str1="hello,mandarava."
let str2="mandarava"
let range=str1.range(of: str2)
if range != nil{
print("包含")
}
十二、首字母大写
var str1="mandarava is a flower."
var sr = str1.capitalized
print(sr)
十三、根据位置获取字符串
let comment = "Hello,world!Welcome to Earth."
let index = comment.index(comment.endIndex, offsetBy: -2)
print(comment.substring(from: index)) // h.
let index1 = comment.index(comment.startIndex, offsetBy: 0)
print(comment.substring(from: index1)) //Hello,world!Welcome to Earth.
let index2 = comment.index(comment.startIndex, offsetBy: 3)
print(comment.substring(to: index2)) //Hel
var a=NSString(string:"Follow your heart, but be quiet for a while first. Learn to trust your heart.")
print("截取前:\(a)")
print("截取后:\(a.substring(with: NSMakeRange(50, 8)))")
var a=NSString(string:"A,B,C,D,E,F")
print("分割前:\(a)")
print("分割后:\(a.components(separatedBy: ","))") //分割字符串
运行结果如下:
分割前:A,B,C,D,E,F
分割后:["A", "B", "C", "D", "E", "F"]