百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

「Swift 3.1笔记」03-字符串(String)

toyiye 2024-08-08 00:13 9 浏览 0 评论

自从苹果2014年发布Swift,到现在已经两年多了,而Swift也来到了3.1版本。最近利用工作之余,把官方的Swift编程指南看了一遍。现在整理一下笔记,回顾一下以前的知识,有需要的同学可以去看Swift官方文档。

一、字符串

注意:使用let声明一个不可变的字符串,用var声明一个可变的字符串。

1、初始化一个空字符串(这两个字符串都是空的,并且是相等的)

var emptyString = ""// 空字符串字面值

var someString = String() // 使用默认构造函数

2、使用字符串字面值来初始化一个常量或者变量:(自动推到,不用定义类型)

let someString = "这是一个字符串"

3、懒加载一个字符串

privatelazyvar titleArray : [String] = ["1", "2", "3", "4", "5"]

4、字符串判空

(1)

var anotherEmptyString = String()

if anotherEmptyString.characters.count==0 {

print("字符串为空")

}

(2)

if anotherEmptyString.isEmpty {

print("字符串为空")

}

5、字符串拼接

(1)字符串插入值(常用的拼接方式) \() (常用)

//字符串插值可以把常量、变量、字面值和其他表达式混合在一起,拼接成一个新的字符串。

//用 \() 来包裹字符串拼接,相当于OC的 stringWithFormat

let multiplier = 3

let message = "\(multiplier)乘以2.5等于\(Double(multiplier) * 2.5)"

// message is "3乘以2.5等于7.5"

(2)使用加号运算符(+)来拼接两个字符串:(常用)

let string1 = "hello"

let string2 = "there"

var welcome = string1 + string2

// welcome 等于 "hello there"

(3)字符串的格式化比如时间:03:04

let min = 3

let second = 4

let time = String(format: "%02d:%02d", arguments: [min, second])

print(time)

(3)字符串拼接字符串

var constatString = "字符串前半部分"

constatString +="和字符串后半部分"

// constatString 现在是 "字符串前半部分和字符串后半部分"

(4)使用加法赋值运算符来拼接一个已经存在字符串:

var instruction = "look over"

instruction +="there"

// instruction 等于 "look over there"

(5)使用String类型的append()方法来拼接:

let exclamationMark: Character = "!"

welcome.append(exclamationMark)

// welcome 等于 "hello there!"

// 注意:不能添加一个String或者Character到一个已经存在的Character变量,因为Character类型的值只能包含一个字符。

(6)、字符串字面值可以包含以下字符:

转义字符:\0(空字符)、\`(反斜杠)、\t(水平制表符)、\n(换行)、\r(回车)、\"(双引号)、\'`(单引号)

6、插入和移除 (Inserting and Removing)

//在特定的位置插入一个字符,使用insert(_:at:);在特定的位置插入另外一个字符串内容,使用insert(contentsOf:at:):

var welcome = "hello"

welcome.insert("!", at: welcome.endIndex)

// welcome 现在是 hello!

welcome.insert(contentsOf: " there".characters, at: welcome.index(before: welcome.endIndex))

// welcome 现在是 hello there!

//在特定的位置删除一个字符,使用remove(at:),删除一个范围内的字符串,使用removeSubrange(_:):

welcome.remove(at: welcome.index(before:welcome.endIndex))

// welcome 现在是 hello there

let range = welcome.index(welcome.endIndex, offsetBy: -6)..<welcome.endIndex

welcome.removeSubrange(range)

// welcome 现在是 hello

//注意:我们可以在遵循了RangeReplaceableCollection协议的任何类型中使用insert(_:at:)、insert(contentsOf:at:)、remove(at:)和removeSubrange(_:)方法,包括:String、Array、Dictionary、Set。

7、字符串的截取

// Swift中提供了特殊的截取方式

// 该方式非常麻烦

// Index创建较为麻烦

// 简单的方式是将String转成NSString来使用

// 在标识符后加:as NSString即可

let myStr = "www.520it.com"

var subStr = (myStr asNSString).substring(from: 4)

subStr = (myStr asNSString).substring(to: 3)

subStr = (myStr asNSString).substring(with: NSRange(location: 4, length: 5))

print(subStr)

8、字符串的比较 (Comparing Strings)

注意:Swift提供了三种方式来进行文本比较:1)字符串和字符相等;2)前缀相等;3)后缀相等。

(1)使用等于==和不等于!=进行比较:

let quotation = "We're a lot alike, you and I."

let sameQuotation = "We're a lot alike, you and I."

if quotation == sameQuotation {

print("这个字符串是相等的")

}

(2)前缀和后缀相等 (Prefix and Suffix Equality)

使用hasPrefix(_:)和hasSuffix(_:)来判断一个字符串是否有特定的前缀或者后缀。

if sameQuotation.hasPrefix("We") {

print("字符串前缀包含we")

}

9、字符串的遍历

var appenString = String()

for character in"我是一个字符串的遍历".characters {

appenString.append(character)

print("遍历出来的字符:\(character)")

}

print("拼接后的字符串:\(appenString)")

10、字符串的长度

let title : String = "获取字符串长度"

let count = title.characters.count//获取String字符串的长度

print(count)

11、字符串一些属性

// 替换

print("空格替换成-:", s.replacingOccurrences(of: " ", with: "-"))

// 去首尾空格

print("去掉空格:", s.trimmingCharacters(in: .whitespaces))

// 分割

print("分割:", s.components(separatedBy: "/"))

更多精彩内容,请关注爱恨的潮汐微信公众号(微信ID:xueyuanxunmeng)

营运人员:爱恨的潮汐(2017.4.14)

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码