博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Swift学习笔记(4):字符串
阅读量:5319 次
发布时间:2019-06-14

本文共 2040 字,大约阅读时间需要 6 分钟。

目录:

  • 初始化
  • 常用方法或属性
  • 字符串索引

初始化

创建一个空字符串作为初始值:

var emptyString = ""                // 空字符串字面量var anotherEmptyString = String()   // 初始化方法,两个字符串均为空并等价。

 

常用方法或属性
1 var empty = emptyString.isEmpty    // 判断字符串是否为空 2 var welcome = "string1" + string2  // 使用 + 或 += 拼接字符串 3 welcome.append("character")        // 使用append()在字符串末尾追加字符 4  5 // 使用 \(变量) 进行字符串插值 6 let multiplier = 3 7 let message = "\(multiplier) times 2.5 is \(Double(multiplier) * 2.5)"  8  9 // 使用 == 或 != 进行字符串比较10 if quotation == sameQuotation {11     print("These two strings are considered equal")12 }13 14 // 使用 hasPrefix() 和 hasSuffix() 判断是否又前缀或后缀15 if scene.hasPrefix("Act 1 ") {16     print("The string has the prefix of Act 1“)17 }

注意:

・不能将一个字符串或者字符添加到一个已经存在的字符变量上,因为字符变量只能包含一个字符。
・插值字符串中写在括号中的表达式不能包含非转义反斜杠 ( \ ),并且不能包含回车或换行符。

 

字符串索引

可以通过字符串下标或索引属性和方法来访问和修改它,String.Index对应着字符串中的Character位置。

1 sampleString.startIndex.         // 获取第一个字符的索引     2 sampleString.endIndex            // 获取最后一个字符的索引 3  4 let greeting = "Guten Tag!" 5 greeting[greeting.startIndex]    // G 使用下标获取字符 6 greeting[greeting.index(before: greeting.endIndex)]   // ! 7 greeting[greeting.index(after: greeting.startIndex)]  // u 8  9 let index = greeting.index(greeting.startIndex, offsetBy: 7)10 greeting[index]                                       // a11 12 /* 13     greeting[greeting.endIndex]        // error Index越界14     greeting.index(after: endIndex)    // error Index越界15 */16 17 // 使用 characters.indices 属性创建一个包含全部索引Range来遍历字符串中单个字符18 for index in greeting.characters.indices {19     print("\(greeting[index]) ", terminator: "") // 输出 "G u t e n T a g ! "20 }21 22 var welcome = "hello"23 welcome.insert("!", at: welcome.endIndex)        // welcome 等于 "hello!"24 welcome.remove(at: welcome.index(before: welcome.endIndex))// welcome 等于 "hello"

 

注意:

・可扩展的字符群集可以组成一个或者多个Unicode标量。这意味着不同的字符以及相同字符的不同表示方式可能需要不同数量的内存空间来存储。所以Swift中的字符在一个字符串中并不一定占用相同的内存空间。因此在没有获得字符串可扩展字符群集范围的时候,是不能计算出字符串的字符数量,此时就必须遍历字符串全部的 Unicode 标量,来确定字符数量。

 

声明:该系列内容均来自网络或电子书籍,只做学习总结!

转载于:https://www.cnblogs.com/Youhei/p/6875241.html

你可能感兴趣的文章
RxJS & Angular
查看>>
面向对象(多异常的声明与处理)
查看>>
MTK笔记
查看>>
ERROR: duplicate key value violates unique constraint "xxx"
查看>>
激活office 365 的启动文件
查看>>
无法根据中文查找
查看>>
[简讯]phpMyAdmin项目已迁移至GitHub
查看>>
转载 python多重继承C3算法
查看>>
【题解】 bzoj1597: [Usaco2008 Mar]土地购买 (动态规划+斜率优化)
查看>>
css文本溢出显示省略号
查看>>
git安装和简单配置
查看>>
面向对象:反射,双下方法
查看>>
鼠标悬停提示文本消息最简单的做法
查看>>
课后作业-阅读任务-阅读提问-2
查看>>
面向对象设计中private,public,protected的访问控制原则及静态代码块的初始化顺序...
查看>>
fat32转ntfs ,Win7系统提示对于目标文件系统文件过大解决教程
查看>>
Awesome Adb——一份超全超详细的 ADB 用法大全
查看>>
shell cat 合并文件,合并数据库sql文件
查看>>
Android 将drawable下的图片转换成bitmap、Drawable
查看>>
介绍Win7 win8 上Java环境的配置
查看>>