Swift 字符串

2018-11-14  本文已影响13人  洱舟

Swift 字符串

引用

字符串是值类型- 如果创建新String值,则在将String值传递给函数或方法时,或者将其赋值给常量或变量时,将复制该值.

一、字符串基础

1、字符串初始化
let emptyString = "hello world"
let anthoerEmptyString = String()
print("emptyString = \(emptyString) - anthoerEmptyString = \(anthoerEmptyString)")
//emptyString = hello world - anthoerEmptyString =
2、多行字符串文字
let quotation = """
The White Rabbit put on his spectacles.  "Where shall I begin,
please your Majesty?" he asked.
        
"Begin at the beginning," the King said gravely, "and go on
till you come to the end; then stop."
"""
3、字符串是否为空
if emptyString.isEmpty {
    print("Nothing to see here")
}
4、字符串遍历
for character in emptyString {
    print(character)
}
5、字符串的可变性
var variableString = "Horse"
variableString += " and carriage"
print("variableString = \(variableString)")
//variableString = Horse and carriage

二、访问和修改字符串

引用

//转义的特殊字符\0(空字符),\(反斜杠),\t(水平制表符),\n(换行符),\r(回车符),\"(双引号)和\'(单引号)

//String.Index它对应Character于字符串中每个值的位置,before之前,after之后

let greeting = "Guten Tag!"
print("startIndex:\(greeting[greeting.startIndex])")
//startIndex:G

let index1 = greeting.index(before: greeting.endIndex)
print("endIndex:\(greeting[index1])")
//endIndex:!

let index2 = greeting.index(after: greeting.startIndex)
print("Index1:\(greeting[index2])")
//Index1:u

let index3 = greeting.index(greeting.startIndex, offsetBy: 7)
print("index2: \(greeting[index3])")
//index2: a
1、字符串查找
let searchStr = "hello world"
guard searchStr.range(of: "world") != nil else {
    print("没有找到字符串")
    return
}
2、截取子串
let subStr = "我们一起去飞"
let subIndex = subStr.index(subStr.startIndex, offsetBy: 3)
let sub1 = subStr[subStr.startIndex..<subIndex]
print("sub1 = \(sub1)")
//sub1 = 我们一

let subIndex2 = subStr.index(subStr.startIndex, offsetBy: 3)
let sub2 = subStr[subIndex2..<subStr.endIndex]
print("sub2 = \(sub2)")
//sub2 = 起去飞
3、字符串拆分、转数组
let arrayStr = "11233244255266277"
let array = arrayStr.components(separatedBy: "2")
print("array = \(array)")
//array = ["11", "33", "44", "55", "66", "77"]
4、字符串替换
let arrayStr1 = "11233244255266277"
let comStr = arrayStr1.replacingOccurrences(of: "2", with: " ")
print("comStr = \(comStr)")
//comStr = 11 33 44 55 66 77
5、前缀、后缀、转大写、转小写、首字母大写,其他小写
let arrayStr2 = "11233244255266277"
//前缀
let a = arrayStr2.hasPrefix("11")
//后缀
let b = arrayStr2.hasSuffix("77")
print("a = \(a) - b = \(b)")
//a = true - b = true

let bitStr = "bei JING"
//转大写
print("big = \(bitStr.uppercased())")
//big = BEI JING

//转小写
print("small = \(bitStr.lowercased())")
//small = bei jing

//首字母大写,其他小写
print("small = \(bitStr.capitalized)")
//small = Bei Jing
6、编码、解码
let codeStr = "北京欢迎你"

//编码
if let codeStr1 = codeStr.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) {
    print("codeStr1 = \(codeStr1)")
    //codeStr1 = %E5%8C%97%E4%BA%AC%E6%AC%A2%E8%BF%8E%E4%BD%A0
    
    //解码
    if let codeStr2 = codeStr1.removingPercentEncoding {
        print("codeStr2 = \(codeStr2)")
        //codeStr2 = 北京欢迎你
    }
}
上一篇下一篇

猜你喜欢

热点阅读