前言:4.0的好多都有改變,但是網(wǎng)上的更新很少.所以呢就隨手寫一下不多說還是直接上代碼
!!!看下面的時候需要注意var和let的區(qū)別這里就不詳細(xì)解釋了可以自己去搜一下.
1.定義字符串
func definitionString() -> () {
let name = "小龍"http://變量字符串
let m_name = "王"http://常量字符串
let m__name = ""http://空的字符串
let m___name = String()//空的字符串
print(name,m_name,m__name,m___name);
}
2.字符串拼接
func StringJoint() -> () {
let studentNum = "1"http://學(xué)生的學(xué)號
let studentName = "小龍"http://學(xué)生的姓名
print(studentNum+studentName)
print("\(studentNum):\(studentName)")
let arr = ["星","期","一"]
//數(shù)組轉(zhuǎn)字符串
let today = arr.joined(separator: "__")//將數(shù)組中的數(shù)據(jù)通過__連接
print(today)
///其他類型的轉(zhuǎn)string
let num1 = 10
let num2 = 12
let str1 = "\(num1)+\(num2)"
print(str1)
}
3.枚舉字符
func enumChar() -> () {
//遍歷
let myStr = "my name is De Shuai Dong ?? 我的"
for char in myStr {
print(char);
}
}
4.獲取字符串中指定索引處的字符
func getStrChar() -> () {
let s:String = "SwiftMineStudy"
//取從開始的位置數(shù)index等于3的字符
let sub0 = s.index(s.startIndex, offsetBy: 3)
//取從最后的位置數(shù)第二個的字符
let sub1 = s.index(s.endIndex, offsetBy: -2)
//從sub0的位置開始數(shù)接下來的第二位的字符
let sub2 = s.index(sub0, offsetBy: 2)
//同上
let sub3 = s.index(s.startIndex, offsetBy: 2)
//取sub0之前的一位字符
let sub4 = s.index(before: sub0)
//取sub0之后的一位字符
let sub5 = s.index(after: sub0)
//取sub0之前的左右字符串
let sub6 = s.prefix(upTo: sub0)
//取sub0之后的所有字符串
let sub7 = s.suffix(from: sub0)
//拼接,字符需轉(zhuǎn)為字符串
//lableTest.text = String(s[sub0])+String(s[sub1])+sub6
//反轉(zhuǎn)字符串
//lableTest.text = String(s.reversed())
print(s[sub0],s[sub1],s[sub2],s[sub3],s[sub4],s[sub5],sub6,sub7)
//字符串換行
let name = """
qweqwe
qweqwe
sdfsdfsdf
"""
print(name)
//字符串是否為空
if s.isEmpty {
print("為空")
}else{
print("不為空")
}
//字符串區(qū)間截取
//方法一
let snowy = " Let it snow! "
let nsrange = NSRange(location: 3, length: 6)
let start = snowy.index(snowy.startIndex, offsetBy: nsrange.lowerBound)
let end = snowy.index(snowy.startIndex, offsetBy: nsrange.upperBound)
let substringRange = start..<end
print(snowy[substringRange])
//方法二
let values = "abcdefg"
let startSlicingIndex = values.index(values.startIndex, offsetBy: 3)
let endSlicingIndex = values.index(values.endIndex, offsetBy: -2)
let subvalues = values[startSlicingIndex...endSlicingIndex] // One-sided Slicing
// Range
print(subvalues)
//字符串前面是否有
if values .hasPrefix("a") {
print("有")
}else{
print("無")
}
//字符串后面是否有
if values.hasSuffix("a") {
print("有")
}else{
print("沒有")
}
}
5.字符串的其他用法
func 字符串的其他用法() -> () {
//注意這里是變量
var str:String = "av,1,2,3,4,5,6,7,8,a,b,c,d,e"
//獲取字符串長度
print(str.count)
if str.count>3 {
print("長度大了")
}
//去除字符串中的特殊字符 只能去除一個
str.remove(at: str.index(of: ",")!)
print(str)
//字符串轉(zhuǎn)數(shù)組
let arr = str.components(separatedBy: ",")
print(arr)
//轉(zhuǎn)大寫
let str1 = str.uppercased()
print(str1)
//轉(zhuǎn)小寫
let str2 = str.lowercased()
print(str2)
//每個單詞首字母大寫
let str3 = str.capitalized
print(str3)
//字符串替換
let str4 = str.replacingOccurrences(of: ",", with: "")
print(str4)
//判斷是否包含某個字符串
if str.range(of: "av") != nil {
print("包含")
}
if str == str3 {
print("相等")
}else{
print("不相等")
}
//轉(zhuǎn)int
let str5 = "123"
let intNum:Int = Int(str5)!
print(intNum + 3)
}
有用的話點(diǎn)個贊??