Swift - 16 - String.Index和Range

时间:2021-05-08 18:08:40
//: Playground - noun: a place where people can play

import UIKit

var str = "Welcome to Play Swift! Step by Step learn Swift language from now!"

// range
str.rangeOfString("Step") // 默认从前面开始搜索
str.rangeOfString("Step", options: NSStringCompareOptions.BackwardsSearch, range: nil, locale: nil) // 从后面开始搜索 str.startIndex
str.endIndex
var strRange = Range<String.Index>(start: str.startIndex, end: str.endIndex) // 搜索特定范围中特定字符串的范围
var searchStartIndex:String.Index = str.startIndex // 搜索开始的位置
var searchEndIndex:String.Index = searchStartIndex.advancedBy(7) // 搜索结束的位置
let searchRange = Range<String.Index>(start: searchStartIndex, end: searchEndIndex)
str.rangeOfString("Step", options: NSStringCompareOptions.CaseInsensitiveSearch, range: searchRange, locale: nil) // subString
var toIndex = str.startIndex.advancedBy(4)
str.substringToIndex(toIndex) var fromIndex = str.startIndex.advancedBy(14)
str.substringFromIndex(fromIndex) str.substringWithRange(searchRange) // insert
var insertIndex = searchStartIndex.advancedBy(22)
str.insert("!", atIndex: insertIndex); // remove
str.removeAtIndex(insertIndex)
str.removeRange(searchRange) // replace
var replaceRange = Range<String.Index>(start: str.startIndex, end: str.startIndex.advancedBy(14))
str.stringByReplacingCharactersInRange(replaceRange, withString: "Rinpe Chan") // String.Index 也是一种数据类型