iOS进阶

1.Swift中字符串的使用

2017-05-17  本文已影响10人  xiaoyouPrince

字符串的介绍

字符的定义

// 1> 定义不可变字符串 : 使用let修饰
let str : String = "hello swift"
// str = "hello Objective-C" 错误写法
// 2> 定义可变字符串 : 使用var修饰
var strM : String = "hello world"
strM = "hello china"

字符串的使用

获取字符串的长度
let count = str.characters.count
字符串拼接
let str1 = "Hello"
let str2 = "World"
let str3 = str1 + str2
let name = "why"
let age = 18

let info = "my name is \(name), age is \(age)"
let min = 3
let second = 4

let time = String(format: "%02d:%02d", arguments: [min, second])
字符串的截取
let urlString = "www.520it.com"

// Swift中通过 as 关键字可以将String类型转成NSString的类型
let header1 = (urlString as NSString).substring(to: 3)
let footer1 = (urlString as NSString).substring(from: 10)
let range1 = NSRange(location: 4, length: 5)
let middle1 = (urlString as NSString).substring(with: range1)
let urlString = "www.520it.com"

let headerIndex = urlString.index(urlString.startIndex, offsetBy: 3)
let header2 = urlString.substring(to: headerIndex)

let footerIndex = urlString.index(urlString.endIndex, offsetBy: -3)
let footer2 = urlString.substring(from: footerIndex)

let startIndex = urlString.index(urlString.startIndex, offsetBy: 4)
let endIndex = urlString.index(urlString.startIndex, offsetBy: 9)
let range2 = Range(startIndex..<endIndex)
let middle2 = urlString.substring(with: range2)

// 直接比较,Swift中字符串遵循 Sequence 协议,都可以这样比较
"xiaoyou".elementsEqual("晓友") 

// 遍历字符串,比较内部单个字符
for index in 0..<userAnswer.length {
  
    // 比较对应位置的word 是否相同
    if userAnswer.substring(with: NSMakeRange(index, 1)).compare(answer.substring(with: NSMakeRange(index, 1))) == ComparisonResult.orderedSame {
        
        print("-----same")
    }else{
        print("-----不一样,需要替换")
    }
    
    
    // 比较对应位置的 Character 是否相同
    let userA = userAnswer.character(at: index)
    let corrA = answer.character(at: index)
    if userA == corrA {
        print("\(userA)+++++++same")
    }else{
        print("\(userA)+\(corrA)++++++不一样,需要替换")
    }
}
上一篇 下一篇

猜你喜欢

热点阅读