//字符串的基础用法 String
//swift中字符串的可变性仅通过变量还是常量来决定的,变量定义的字符串即可变字符串
//字符串的初始化
var str1 = "" //字面意思 创建一个字符串 通常使用这种方式创建
var str2 = String() //创建一个String对象
//判断字符串是否为空isEmpty
if str1.isEmpty {
print("string1字符串 " + "\(str1.isEmpty)" + " 空") //打印为string1字符串 true 空
}
//基本数据类型(int,float,double)和bool型 在swift中都能通过"()"这个形势转换为字符串
//基本数据类型也可以向oc语言一样,用格式化输出方式,.2是保留两位小数
print(String(format:"%.2f",1.0)) //打印为1.00
//求长度
var str3 = "ning jing 1 zhi yuan"
let len:Int = str3.characters.count
print(len)//打印为
//字符串拼接
var str4 = "ning jing"
var str5 = " zhi yuan"
var str6 = str4 + str5 //两个字符串相加就行了,也可以用+=运算符
print(str6) //打印为ning jing ahi yuan
//遍历字符串中的字符
var str7 = "hello"
for char in str7.characters{
print(char)//打印为 h e l l o
}
//获取字符串中指定索引的字符
print(str7[str7.index(str7.startIndex,offsetBy:1)]) //打印为 e
//字符串是否相等
//字符串转换
var str8 = "123"
var str9 = "true"
//这样转换是正确的,!号要加,不然打印下来都有一个Optional的词
print("\(Int(str8)!) " + "\(Double(str8)!) " + "\(Float(str8)!) " + "\(Bool(str9)!) ") //打印为123 123.0 123.0 true
//字符串比较
//比较直接用=号就可以了,比如:
let str10 = "123"
let comp1 = str8 == str10//true
let comp2 = str8 < str10 //false
//大小写转换
var str11 = "hEllo"
str11.uppercased()//转为大写
str11.lowercased()//转为小写
str11.capitalized //首字母大写
//前后缀
var str12 = "Hello"
str12.hasPrefix("H")//前缀
str12.hasSuffix("0")//后缀
//查找子串
var str13 = "hello world"
let range:Range = str13.range(of: "hello")!
先写到这把,其他周天再写,没整理好