swift 3.0 的字符串用法

2017-03-30  本文已影响0人  家电维修技师

// 取得字符串数字下标的方法
func index(str: String, subIndex: Int) -> String {

//let subIndex = 1

// 截取从第 subIndex (传入的值)位开始
let start = str.index(str.startIndex, offsetBy: subIndex)
// 取到从第 subIndex (传入的值) 位开始的所有字符
let newStr = str.substring(from: start)
// 取从 subIndex 位开始后的多少个数,这里写的是 1,那么就只取从开头开始的那个数字
let end = newStr.index(newStr.startIndex, offsetBy: 1)
//从新创建的字符串 (newStr) 开始取 从subIndex 到 offsetBy (1)位
let sub = newStr.substring(to: end)

return sub

}

let num = index(str: str, subIndex: 0)

print(num)

// 简化版为
var str = "12345678"

func index(str: String, subIndex: Int) -> String {

// 从旧的字符串的(传入的字符串)的第 subIndex(传入的值)位开始创建一个新的字符串
let newStr = str.substring(from: str.index(str.startIndex, offsetBy: subIndex))
// 从新创建的字符串 (newStr) 开始取 从subIndex 到 offsetBy (1)位创建一个新字符串
let sub = newStr.substring(to: newStr.index(newStr.startIndex, offsetBy: 1))

return sub

}

let num = index(str: str, subIndex: 0)

print(num)

//------------------

var string = "Hello-Swift"
//获取某个下标后一个下标对应的字符 char="e"
//swift2.2
//var char = string[startIndex.successor()]
//swift3.0
var char = string[string.index(after: startIndex)]
//获取某个下标前一个下标对应的字符 char2 = "t"
//swift2.2
//var char2 = string[endIndex.predecessor()]
//swift3.0
var char2 = string[string.index(before: string.endIndex)]
//通过范围获取字符串中的一个子串 Hello
//swift2.2
//var subString = string[startIndex...startIndex.advancedBy(4)]
//swift3.0
var subString = string[startIndex...string.index(startIndex, offsetBy: 4)]
//swift2.2
//var subString2 = string[endIndex.advancedBy(-5)...endIndex.predecessor()]
//swift3.0
var subString2 = string[string.index(endIndex, offsetBy: -5)..<endIndex]
//获取某个子串在父串中的范围
//swift2.2
//var range = string.rangeOfString("Hello")
//swift3.0
var range = string.range(of: "Hello")
//追加字符串操作 此时string = "Hello-Swift! Hello-World"
//swift2.2
//string.appendContentsOf(" Hello-World")
//swift3.0
string.append(" Hello-World")
//在指定位置插入一个字符 此时string = "Hello-Swift!~ Hello-World"
//swift2.2
//string.insert("~", atIndex: string.startIndex.advancedBy(12))
//swift3.0
string.insert("~", at: string.index(string.startIndex, offsetBy: 12))
//在指定位置插入一组字符 此时string = "Hello-Swift!~~~~ Hello-World"
//swift2.2
//string.insertContentsOf(["","","~"], at: string.startIndex.advancedBy(12))
//swift3.0
string.insert(contentsOf: ["","","~"], at: string.index(string.startIndex, offsetBy: 12))
//在指定范围替换一个字符串 此时string = "Hi-Swift!~~~~ Hello-World"
//swift2.2
//string.replaceRange(string.startIndex...string.startIndex.advancedBy(4), with: "Hi")
//swift3.0
string.replaceSubrange(string.startIndex...string.index(string.startIndex, offsetBy: 4), with: "Hi")
//在指定位置删除一个字符 此时string = "Hi-Swift!~~~~ Hello-Worl"
//swift2.2
//string.removeAtIndex(string.endIndex.predecessor())
//swift3.0
string.remove(at: string.index(before:string.endIndex))
//删除指定范围的字符 此时string = "Swift!~~~~ Hello-Worl"
//swift2.2
//string.removeRange(string.startIndex...string.startIndex.advancedBy(2))
//swift3.0
string.removeSubrange(string.startIndex...string.index(string.startIndex, offsetBy: 2))
var string2 = "My name is Jaki"
//全部转换为大写
//swift2.2
//string2 = string2.uppercaseString
//swift3.0
string2 = string2.uppercased()
//全部转换为小写
//swift2.2
//string2 = string2.lowercaseString
//swift3.0
string2 = string2.lowercased()

上一篇下一篇

猜你喜欢

热点阅读