Swift 5.X——String

1.基本操作

  注意:索引(Int)不能直接用,需要转为str.index(这里的“str”指的是字符串的名称)

import UIKit

var str = "ABCD E"

print(str.count)//6。打印字符串的长度

var a = str.startIndex//索引
print(str[a])//A。打印str首个字符

var b = str.index(before: str.endIndex)//索引
print(str[b])//E。打印str末尾字符。endIndex的前一个字符才是“E”

var c = str.index(str.startIndex,offsetBy: 3)//索引
print(str[c])//D。从首个字符0起算3个字符

var d = str.index(str.endIndex,offsetBy: -3)//索引
print(str[d])//D。打印倒数第3个字符

var e = str.index(str.startIndex,offsetBy: 1)//区间起始索引
var f = str.index(str.startIndex,offsetBy: 3)//区间结束索引
print(str[e...f])//BCD。

var g = str.firstIndex(of: "C") ?? str.endIndex//字符"C"不一定存在,所以是可选的。如果"C"不存在就返回最后一个字符
print(str[str.startIndex...g])//ABC

print(str.prefix(3))//ABC。返回字符串的前3个字符。prefix:前缀

2.遍历字符串

import UIKit

var str = "ABCDEF"

for index in str{
    print(index)//ABCDEF
}

for index in 0..<str.count{
    print(str[str.index(str.startIndex, offsetBy: index)])//ABCDEF
}  

3.多行文本

import UIKit

var str = """
            fghj
                567yijo
            gvhbj
            
            """
print(str)//注意引号里的内容是最“边缘”的情况,即内容不能再向左写了

print(#""hello\(world)""#)//"hello\(world)"。最边缘的一对引号是为了符合语法,再往里的引号就属于文本的内容了,想怎么写就怎么写

4.其它操作

import UIKit

var str = "ABCDEF"

print(str.contains("CD"))//true。字符串匹配

print(String(str.hasPrefix("AB")))//true。判断字符串的前缀是否为“AB”
print(String(str.hasSuffix("F")))//true。判断字符串的后缀是否为“F”

str.append("GHI")//扩展字符串
print(str)//ABCDEFGHI

str.insert(contentsOf:"hello", at: str.startIndex)// 插入字符串
print(str)//helloABCDEFGHI
str.insert(contentsOf: "world", at: str.index(str.startIndex, offsetBy: 10))//插入字符串
print(str)//helloABCDEworldFGHI

var a = str.index(str.startIndex,offsetBy: 5)
var b = str.index(str.startIndex,offsetBy: 9)
var range = a...b
str.replaceSubrange(range, with: "HELLO")//字符串的替换
print(str)//helloHELLOworldFGHI

print(str.replacingOccurrences(of: "hello", with: "123"))//123HELLOworldFGHI。字符串的替换

str.remove(at: str.index(str.startIndex, offsetBy: 5))//删除字符
print(str)//helloELLOworldFGHI。

str.removeSubrange((str.index(str.startIndex,offsetBy: 0)...str.index(str.startIndex,offsetBy: 5)))//删除字符串
print(str)//LLOworldFGHI

  

猜你喜欢

转载自www.cnblogs.com/yangyh26/p/11823602.html
今日推荐