swift学习第五天:字符串

字符串的介绍

  • 字符串在任何的开发中使用都是非常频繁的
  • OC和Swift中字符串的区别
    • 在OC中字符串类型时NSString,在Swift中字符串类型是String
    • OC中字符串@"",Swift中字符串""
  • 使用 String 的原因
    • String 是一个结构体,性能更高
    • NSString 是一个 OC 对象,性能略差
    • String 支持直接遍历
    • Swift 提供了 StringNSString 之间的无缝转换

字符串的使用

遍历字符串
// 字符串遍历
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 = 18
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 = 3
let second = 04
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: 3)
let middle = (urlString as NSString).substring(with: NSRange(location: 4, length: 5))
let footer = (urlString as NSString).substring(from: 10)
时间: 2024-10-11 06:20:22

swift学习第五天:字符串的相关文章

swift学习第五章-字典的使用

//下面是关于字典的 //字典的格式[key:value] //字典可以存放基本类型和对象类型的 //声明一个字典 var dictionary1=["key1":"鸭鸭","key2":"肉包"] var keyValueCount=dictionary1.count//获取这个字典里面键值对的个数 dictionary1["key1"]="鸡鸡"//改变对应健的值 //updateV

Swift学习笔记五:循环和条件语句

一.循环语句 1. for循环 1) for -in 循环,对于数据范围,序列,集合等中的每一个元素,都执行一次 for a in 0...5{}    //循环迭代,从a=0到a=5,执行{}里的代码 注意:a只循环中存在,也就是出了{}a就不存在了 或者遍历数组 let a = [1,2,3] for b in a{} //循环迭代,从b=1到b=3 如果你不需要序列中的每一个值,可以使用_来忽略它,仅仅只是使用循环体本身: for _ in 0...5{}    //循环执行{}里的代码,

Swift学习笔记五

基础运算符 Swift的大部分运算符和C及OC相同,也分一元二元多元的,这里只记录一些Swift特有的性质或写法. 赋值运算符( = ) 在等号右边是一个有多个值的元组时,它的成员值可以分解并同时分别赋值给常量或者变量: let (x, y) = (1, 2) // x is equal to 1, and y is equal to 2 和C.OC不同的是,赋值运算符本身并不返回值,因此如下写法是错误的: if x = y { // this is not valid, because x =

Python学习笔记五:字符串常用操作,字典,三级菜单实例

字符串常用操作 7月19日,7月20日 ,7月22日,7月29日,8月29日,2月29日 首字母大写:a_str.capitalize() 统计字符串个数:a_str.count("x") 输出字符,不够的使用指定的字符补上,字符居中:a_str.center(50,"-") 判断字符串以什么结尾:a_str.endwith("xx") 将字符串中的tab转换为指定数目的空格:a_str.expandtabs(tabsize=30) 查找指定字符

swift学习第五天 项目实战-知乎日报客户端(一)网络交互NSURLConnection

CSDN下载地址:http://download.csdn.net/detail/guchengyunfeng/7989139 这篇文章主要介绍知易客户端开发的网络部分 网络接口 格式: 协议1: http://news-at.zhihu.com/api/3/news/latest (新闻列表) 协议2: http://news-at.zhihu.com/api/3/news/ (新闻详细) 代码实现的主要思路: 协议1 在KDNewsListApi类,并且实现下面的方法 1 func getN

swift学习笔记(五)构造过程

构造过程是为了使用某个类.结构体或枚举类型的实例而进行的准备过程.在构造过程中,对每一个属性进行了初始值预设和其它必要的准备和初始化工作. 与OC相比,swift的构造函数.不须要返回值.同一时候,在类和结构体的构造过程中,必须对全部的存储类型属性,包括继承自父类的属性.赋予合适的初始值.存储类型值不能处于一个未知状态. 在对属性进行初始化过程中,有两种方法,第一:使用构造方法,第二:在定义属性时,直接赋予默认值. 当使用构造方法对属性赋值时,不会触发不论什么的属性观測器. 当一个属性总是使用同

python学习笔记五:字符串方法

常用字符串常量: string.digits:包含数字0~9的字符串 string.letters:包含所有字母(大写或小写字符串,在python3.0中,使用string.ascii-letters代替) string.lowercase:包含所有小写字母的字符串 string.printable:包含所有可打印字符的字符串 string.punctuation:包含所有标点的字符串 string.uppercase:包含所有大写字母的字符串 1)find:在较长的字符串中查找子串,返回子串所

Swift学习第五枪

方法(methods)和下表脚本(Subscripts) 实例方法(Instance Methods) 类型方法(Type Methods) 下表脚本(Subscripts) 方法是与某些特定类型相关联的函数.类.结构体.枚举都可以定义实例方法:实例方法为给定类型的实例封装了具体的任务与功能.类.结构体.枚举也可以定义类型方法:类型方法与类型本身相关联.类型方法与 Objecti ve-C 中的类方法(class methods)相似. 结构体和枚举能够定义方法是 Swift 与 C/Objec

Python入门学习第五周:字符串·作业

python学习第五周字符串相关学习内容总结与作业 第五周主要是对字符串相关操作的学习包括 字符串的定义字符的序列 基本字符运算 求长度len(str)函数 拼接+str = str1 + 'pinjie' 重复*name * 3 就是把name的字符串内容输出三次 成员运算in判断一个字符串是否是另一个字符串的子串 for语句 枚举字符串中的每个字符 字符串索引每个字符串都有一个索引值索引从0前向或-1后向开始索引运算符[] 切片操作选择字符串的子序列语法 [start : finish] s