Swift中字符串类型及常用方法有哪些

技术Swift中字符串类型及常用方法有哪些这篇文章主要介绍了Swift中字符串类型及常用方法有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 构造

这篇文章主要介绍了迅速发生的中字符串类型及常用方法有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

1. 构造

//直接赋值

文本=' '

//1.构造方法

text=String()//' '

//字符串构造

text=String(' William ')//' William '

//整型构造

text=String(888)//'888 '

//浮点型构造

text=String(8.88)//'8.88 '

//字符构造

text=String('a')//'a '

//布尔型构造

文本=字符串(真)//"真"

//元组构造

text=String(描述:(5,5.0,true))//'(5,5.0,true)'

//列表构造

text=String(描述:[1,2,3,4])/'[1,2,3,4]'

//格式化字符串

text=String(format:'Hello,%@ ',' William')//'Hello,William '

2. 拼接

vartext 1=' Hello '

vartext2='William '

varresult=text1 text2

打印(结果)//你好,威廉

//3.在字符串中插入简单值使用\(),类似于科特林中的${}

vartarget='你好,\(66)'//你好,66

vartarget2='你好,\(短信2)'//你好,威廉

vartarget3='Hello,\ 1 2 '/Hello,3

3. 字符

varchar :字符=' e '/' e '

varchar2=字符(“e”)//“e”

//占用16个字节

varsize=memory layoutcharacter。尺寸//16

//字符数组

vararray :[字符]=['W ',' I ',' l ',' l ',' I ',' a ',' m']

//构造线

varnewStr=字符串(数组)//威廉

//遍历字符串

letcity='上海'

fornb

sp;cha in city {
    print(cha)
}

4. 转义符

转义字符常用于排版

// \0:表示空白符
// \\:表示反斜杠
// \t:表示制表符
// \n:表示换行符
// \r:表示回车符
// \':表示单引号
// \":表示双引号
// \u{}:用Unicode码创建字符
var code = "\u{0068}\u{0065}\u{006c}\u{006c}\u{006f}" // hello
var escapeChar = "空白符:\0反斜杠:\\制表符:\t换行符\n回车符:\r单引号:\'双引号:\""
print(escapeChar)

5. 常用方法

// 字符串判空
var emptyStr = ""
if emptyStr.isEmpty {
    print("string is empty")
}
if emptyStr.count == 0 {
    print("string count is 0")
}
// 字符串判大小,会逐个比较字符大小
let str1 = "100a", str2 = "101a"
if (str1 < str2) {
    print("str1 < str2")
}
// 字符串判相等,会比较所有字符的位置都相等,才为相等的字符串
if (str1 == str2) {
    print("str1 < str2")
}
// 使用下标访问字符
var indexStr = "Hello, William"
// 获取起始下标
var startIndex: String.Index = indexStr.startIndex
var endIndex: String.Index = indexStr.endIndex
// 获取某个下标后一个下标对应的字符
var afterChar = indexStr[indexStr.index(after: startIndex)] // e
// 获取某个下标前一个下标对应的字符
var beforeChar = indexStr[indexStr.index(before: endIndex)] // m
// ... 运算符指定范围,从 startIndex 向后移动4位截取子串
var subStr = indexStr[startIndex...indexStr.index(startIndex, offsetBy: 4)] // hello
// 从endIndex 向前移动7位截取子串
var subStr2 = indexStr[indexStr.index(endIndex, offsetBy: -7)..<endIndex] // William
// 获取范围
var range = indexStr.range(of: "Hello")
// 追加字符串
indexStr.append(Character("."))
indexStr.append(" append string") // Hello, William. append string
// 插入单个字符到指定位置 Hello, William.# append string
indexStr.insert("#", at: indexStr.index(startIndex, offsetBy: 15))
// 插入一组字符 Hello, William.-#-# append string
indexStr.insert(contentsOf: ["-", "#", "-"], at: indexStr.index(startIndex, offsetBy: 15))
// 替换指定范围的字符串 How are you.-#-# append string
indexStr.replaceSubrange(startIndex...indexStr.index(startIndex, offsetBy: 13), with: "How are you")
// 删除指定位置的单个字符 How are you.-#-# append strin
indexStr.remove(at: indexStr.index(before: indexStr.endIndex))
// 删除指定范围 -#-# append strin
indexStr.removeSubrange(indexStr.startIndex...indexStr.index(indexStr.startIndex, offsetBy: 11))
// 删除所有字符 ""
indexStr.removeAll()
// 转换大小写
var uppercase = "hello, swift".uppercased() // HELLO, SWIFT
var lowercase = "HELLO, SWIFT".lowercased() // hello, swift
// 检查前后缀
var hasPrefix = uppercase.hasPrefix("he") // false
var hasSuffix = lowercase.hasSuffix("ft") // true

感谢你能够认真阅读完这篇文章,希望小编分享的“Swift中字符串类型及常用方法有哪些”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/73740.html

(0)

相关推荐

  • 两台服务器做数据主从备份(读写分离主从同步需要锁吗)

    技术如何用两台服务器实现数据库的主从同步与分离这期内容当中小编将会给大家带来有关如何用两台服务器实现数据库的主从同步与分离,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。使用背景:在网联

    攻略 2021年12月18日
  • 循环移位(Cycle)

    技术循环移位(Cycle) 循环移位(Cycle)Description
    Cycle shifting refers to following operation on the sting. Movin

    礼包 2021年11月27日
  • 怎么让APP永不崩溃

    技术怎么让APP永不崩溃本篇内容介绍了“怎么让APP永不崩溃”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!让我的APP永

    攻略 2021年10月21日
  • 怎么用Python解决数据密度过大难题

    技术怎么用Python解决数据密度过大难题本篇内容介绍了“怎么用Python解决数据密度过大难题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔

    攻略 2021年11月29日
  • c++面试题(c++和Python哪个好)

    技术如何进行C++模板显式具体化的分析如何进行C++模板显式具体化的分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。模板函数虽然非常好用,但是也存在一些问

    攻略 2021年12月18日
  • MAC上安装MYSQL的步骤是什么

    技术MAC上安装MYSQL的步骤是什么这篇文章主要讲解了“MAC上安装MYSQL的步骤是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MAC上安装MYSQL的步骤是什

    攻略 2021年10月22日