swift学习第五天:字符串
字符串的介绍
- 字符串在任何的开发中使用都是非常频繁的
- OC和Swift中字符串的区别
- 在OC中字符串类型时NSString,在Swift中字符串类型是String
- OC中字符串@"",Swift中字符串""
- 使用
String的原因String是一个结构体,性能更高NSString是一个OC对象,性能略差String支持直接遍历Swift提供了String和NSString之间的无缝转换
字符串的使用
遍历字符串
// 字符串遍历
var str = "Hello, Swift"
for c in str.characters {
print(c)
}
字符串拼接
- 两个字符串的拼接
let str1 = "Hello"
let str2 = "World"
let str3 = str1 + str2
- 字符串和其他数据类型的拼接
let name = "why"
let age = 18
let info = "my name is \(name), age is \(age)"
- 字符串的格式化
- 比如时间:03:04
let min = 3
let second = 4
let time = String(format: "%02d:%02d", arguments: [min, second])
字符串的截取
- Swift中提供了特殊的截取方式
- 该方式非常麻烦
- Index创建较为麻烦
- 简单的方式是将String转成NSString来使用
- 在标识符后加:as NSString即可
import UIKit // 1.定义字符串:swift定义字符串不用加@,直接是c语言字符串“”
let str = "hello world" // 2.遍历字符串中字符:空格也算是一个字符
for c in str.characters {
print(c)
} // 3.字符串的拼接
// 3.1.字符串之间的拼接
let str1 = "小码哥"
let str2 = "IT教育"
let result = str1 + str2 // 3.2.字符串和其他标识符之间的拼接
let age =
let name = "why"
let height = 1.88 // 拼接其他标识符的格式: \(标识符的名称)
let info = "my name is \(name), age is \(age), height is \(height)" // 3.3.字符串的格式化: %02d表示占位的意思,占两位,不足两位的用0去补位,arguments参数类型为一个数组,[min, second]表示一个数组,swift数组中可存放基本类型数据,用[]来表示
//音乐播放器:
let min =
let second =
let timeStr = String(format: "%02d:%02d", arguments: [min, second]) // 4.字符串的截取:from 和 to都包括了
let urlString = "www.520it.com" // 将String类型转成NSString类型 string as NSString
let header = (urlString as NSString).substring(to: )
let middle = (urlString as NSString).substring(with: NSRange(location: , length: ))
let footer = (urlString as NSString).substring(from: )
swift学习第五天:字符串的更多相关文章
- Swift学习笔记五
基础运算符 Swift的大部分运算符和C及OC相同,也分一元二元多元的,这里只记录一些Swift特有的性质或写法. 赋值运算符( = ) 在等号右边是一个有多个值的元组时,它的成员值可以分解并同时分别 ...
- Swift学习 --- 2.3和字符串
1.创建一个空字符串,并通过推理的字符串是空的 <span style="font-size:18px;"> var str = "" var st ...
- Python学习札记(五) Basic2 字符串和编码
参考:字符串和编码 Note A.字符编码 1.计算机处理文本 == 将文本转换为二进制 => 处理 2.8 bit(比特) = 1 byte(字节) 一个字节所能表示的最大的十进制整数是255 ...
- Python学习笔记五:字符串常用操作,字典,三级菜单实例
字符串常用操作 7月19日,7月20日 ,7月22日,7月29日,8月29日,2月29日 首字母大写:a_str.capitalize() 统计字符串个数:a_str.count(“x”) 输出字符, ...
- swift学习笔记(五)构造过程
构造过程是为了使用某个类.结构体或枚举类型的实例而进行的准备过程.在构造过程中,对每一个属性进行了初始值预设和其它必要的准备和初始化工作. 与OC相比,swift的构造函数.不须要返回值.同一时候,在 ...
- swift学习第五章-字典的使用
//以下是关于字典的 //字典的格式[key:value] //字典能够存放基本类型和对象类型的 //声明一个字典 var dictionary1=["key1":"鸭鸭 ...
- Swift学习笔记(4):字符串
目录: 初始化 常用方法或属性 字符串索引 初始化 创建一个空字符串作为初始值: var emptyString = "" // 空字符串字面量 var anotherEmptyS ...
- Swift学习——类的定义,使用,继承,构造等(五)
Swift学习--类的定义,使用.继承,构造等(五) 类的使用说明 1 使用class和类名来创建一个类名,比如: class student 2 类中属性的声明和常量和变量一样,唯一的差别就是他们的 ...
- Swift学习目录
本学习基于苹果官方Swift学习材料,保留了原版90%左右的内容(一些项目开发中基本不用的知识点没有整理),并根据理解进行整理.如对原版感兴趣,可以直接单击链接阅读和学习. 第一部分 基础篇 1.基本 ...
随机推荐
- git 工具的使用总结(5)-查看历史记录
1.查看历史记录git log 1)不加参数,显示的就是节点号,作者,日期,注释 commit b7b310d220628530d1feb9e8046ccb59039d59f2 Author: zha ...
- vim-复制、粘贴
选中某些行,可以在命令行模式下执行如下操作 v(小写),按上下左右键,可以选中某些行 V(大写),按上下键,这时候可以直接选中光标所在的行 ctrl+v(小写),可以选中一个矩形区域 取消选中,这些指 ...
- 36.Node.js 工具模块--OS模块系统操作
转自:http://www.runoob.com/nodejs/nodejs-module-system.html Node.js os 模块提供了一些基本的系统操作函数.我们可以通过以下方式引入该模 ...
- Java学习笔记三.3
9.异常处理:Java中的异常处理对象就是将以前的if语句进行的判断进行抽象化,并形成的一套错误处理体系.最顶端是Throwable,接着是Error,Exception,其中Exception又明显 ...
- 给VG增加磁盘,给文件目录增加空间
一: #lspv 找到新增加的物理卷(逻辑驱动器,以hdisk8为例). #chdev –l hdisk8 –a pv=yes写入新的物理卷的pvid. #extendvg cwdatavg hdis ...
- ToggleButton控件
ToggleButton 两种状态 ·状态button -继承自CompoundButton ·主要属性:-Android:textOn -Android:textOff ·主要方法: ...
- 洛谷—— P1118 [USACO06FEB]数字三角形Backward Digit Su…
https://www.luogu.org/problem/show?pid=1118#sub 题目描述 FJ and his cows enjoy playing a mental game. Th ...
- ThreadPoolExecutor – Java Thread Pool Example(java线程池创建和使用)
Java thread pool manages the pool of worker threads, it contains a queue that keeps tasks waiting to ...
- v-if和updated钩子结合使用 渲染echart图表
项目需求是这样的,用户可以自定选择echart 曲线图 是横向还是竖向显示.我的做法是 写了一个横向的echart图表,也写了一个竖向的echart图表,然后两者共用存在store里的图表数据,就能实 ...
- 9.9 Binder系统_Java实现_Android里java程序的编译启动
如果知道了进程号:通过ls /proc/进程号/task 可以看到所有线程 cat /proc/进程号/task/线程号/comm 可以达到线程名字(主线程是main,主线程号就是进程号) d ...