以下有关字符串的常用操作都可直接复制到Xcode中进行验证,如发现错误,请在评论区留言指正!

1.字符串的定义

var str1="hello, swift." //字符串变量 相当于OC中的可变字符串

let str2="hello, swift." //字符串常量 相当于OC中的不可变字符串

let str3="" //空字符串

let str4=String() //空字符串


2.字符串的连接

2.1 使用+连接符

//字符串的连接

let str1 = "hello"

let str2 = "swift"

let str3 = str1 + str2

print(str3)

2.2 使用字符串插值(该方法也可用于字符串与其他类型值的连接)

let str1 = "hello"

let str2 = "swift"

let str4 = "\(str1)\(str2)"

print(str4)


3.字符串枚举字符

let str="伊丽莎白"

for ch in str.characters{

print(ch)

}


4.字符串长度

//字符串的长度

let str1 = "hello swift"

print(str1.characters.count)


5.字符串的比较

//字符串的比较 判断两个字符串是否相等

let str1 = "hello"

let str2 = "hello"

if str1 == str2{

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

}else{

print("两个字符串不相等")

}


6.判断是否包含子串

//判断字符串是否包含子串

let str1 = "hello swift"

let str2 = "SWIFT"

let lmrRange = str1.range(of: str2)//正向查找

let rmlRange = str1.range(of: str2, options: .backwards)//反向查找

let ignore_Text_transformRange = str1.range(of:str2, options: .caseInsensitive, range:nil , locale:nil)//忽略大小写

if ignore_Text_transformRange != nil{

print("str1中包含着子串")

}else{

print("str1中不包含子串")

}


7.首字母大写capitalized

//首字母大写

let str1 = "hello"

let str2 = str1.capitalized

print(str2)


8.字符串全部转为大写uppercase

//字符串转为大写

let str1 = "hello"

let str2 = str1.uppercased()

print(str2)


9.字符串全部转为小写lowrecase

//字符串转为小写

let str1 = "HELLO"

let str2 = str1.lowercased()

print(str2)


10.按照下标截取子字符串

//字符串截取子字符串

let str1 = "HELLO swift"

let str2 = str1.substring(from: str1.startIndex)//从头开始截取

let str3 = str1.substring(to: str1.endIndex)//截取到尾部

//获取截取范围

let i = str1.index(str1.startIndex, offsetBy: 4)

let j = str1.index(str1.startIndex, offsetBy: 8)

let str4 = str1.substring(with: i..<j)

print(str2)

print(str3)

print(str4)


11.字符串修整trim

var str1 = "  !hi?  !23?  !???"

let str2 = str1.trimmingCharacters(in: NSCharacterSet.whitespaces)//"!hi  !23  !"去掉两边的空格

let str3 = str2.trimmingCharacters(in: NSCharacterSet(charactersIn:"!?") as CharacterSet)//"hi  !23" 去掉两边的空格和‘!’ ,把 字符串中的每个字符进行了分解并去除

print(str3)

注意:这里是只能修整两边的,只能修整两边的


12.字符串分解split

//字符串的分解split

var str1 = "hello,swift,you,change,so,fast,!"

let strArray1:[String] = str1.components(separatedBy: ",")

for index in strArray1{

print(index)

}

var str2 = "hello,swift?goodbye,swift?!"

let strArray2:[String] = str2.components(separatedBy: NSCharacterSet(charactersIn:",?") as CharacterSet)

for index in strArray2{

print(index)

}


13.字符串替换replace

//字符串替换replace

var str1 = "hello Object-C,you change so fast!"

let str2 = str1.replacingOccurrences(of: "Object-C", with: "swift")//字符串替换字符串

let i = str1.index(str1.startIndex, offsetBy: 6)

let j = str1.index(str1.startIndex, offsetBy: 14)

let str3 = str1.replacingCharacters(in: i..<j), with: "swift")//字符串替换某个范围的字符串

let str4 = str1.replacingOccurrences(of: "OBJECt-C", with: "SWIFT", options: .caseInsensitive, range: nil)//忽略大小写替换

print(str2)

print(str3)

print(str4)

Swift3.0字符串相关操作的更多相关文章

  1. python字符串、字符串处理函数及字符串相关操作

    python字符串.字符串处理函数及字符串相关操作 字符串介绍 python字符串表示 Python除处理数字外还可以处理字符串,字符串用单撇号或双撇号包裹: >>> 'spam e ...

  2. Swift3.0字符串大小写转化

    Swift3.0语言教程字符串大小写转化,在字符串中,字符串的格式是很重要的,例如首字母大写,全部大写以及全部小写等.当字符串中字符很多时,通过人为一个一个的转换是很费时的.在NSString中提供了 ...

  3. Python_字符串相关操作

    1.字符串切片操作: str1='hello word' startIndex=0 #开始索引位置 endIndex=5 #结束索引位置+1 step=2 #步长 print(str1[startIn ...

  4. Python3中的字符串相关操作

    Python3的字符串操作相关函数详解 字符串内建函数 1. capitalize() 将字符串中的第一个字符转换成大写,其他字母变成小写.例: >>> "hello Wo ...

  5. Python 字符串相关操作

    # 1 * 重复输出字符串 print('hello'*2) # 2 [] ,[:] 通过索引获取字符串中字符,这里和列表的切片操作是相同的,具体内容见列表 print('helloworld'[2: ...

  6. 初学Python——字符串相关操作

    基本字符串操作 Pyhton中字符串的格式化输出在前面已经总结了,接下来介绍一些常用的字符串操作 先定义一个字符变量,以下的操作都以此为例: name=" my name is china ...

  7. python字符串相关操作

    字符串搜索相关搜索指定字符串,没有返回-1:str.find('t')指定起始位置搜索:str.find('t',start)指定起始及结束位置搜索:str.find('t',start,end)从右 ...

  8. [ES6系列-05]字符串相关操作更方便

    [原创] 码路工人 Coder-Power 大家好,这里是码路工人有力量,我是码路工人,你们是力量. github-pages 博客园cnblogs 今天的内容是,关于 ES6 JavaScript ...

  9. [C++]字符串相关操作

    获取字符串长度 String str str.length(); //获取String类型字符串长度 str.size(); //STL获取容器中元素个数 Char* s strlen(s); //以 ...

随机推荐

  1. Java集合之Collection与之子类回顾

    Java学习这么久,打算这几天回顾下java的基本知识点,首先是集合. 一.常用集合类关系图 Collection |___List 有序,可重复 |___ArrayList  底层数据结构是数组,增 ...

  2. No.19 selenium学习之路之os模块

    os模块没有什么好说的,直接看实例就可以了 读取文件内容: open只能读文件的内容,不能读文件夹的内容 常用方法: 1. os.name——判断现在正在实用的平台,Windows 返回 ‘nt'; ...

  3. 再谈OPENCV(转)

    转自:http://blog.csdn.net/carson2005/article/details/6979806 尽管之前写过一篇关于OpenCV的介绍(http://blog.csdn.net/ ...

  4. 洛谷P2300 合并神犇

    传送门啦 分析: 刚开始读完题后感觉很懵,怎么算都不是3,结果发现题目理解错了.题目要求的是求一个不降的序列,不是递减的(发现自己好傻) 看明白题就好做了吧.经典的区间dp题,合并果子大家应该都做过, ...

  5. python_docx制作word文档

    一.docx模块 Python可以利用python-docx模块处理word文档,处理方式是面向对象的.也就是说python-docx模块会把word文档,文档中的段落.文本.字体等都看做对象,对对象 ...

  6. 20165203《Java程序设计》第四周学习总结

    教材学习内容总结 第5章 子类与继承 子类的继承性 子类和父类在同一包中的继承性:子类继承父类中不是private的成员变量和方法作为自己的成员变量和方法 子类和父类不在同一包中的继承性:子类只继承父 ...

  7. Python 面试题学习

    Python的函数参数传递 在Python中,strings,tuples=('abc',123,2.2,'join),numbers 是不可更改的对象. list=['abc',123,2.23,' ...

  8. CCF CSP 201312-3 最大的矩形

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201312-3 最大的矩形 问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i( ...

  9. day6 SYS模块

        SYS模块 用于提供对Python解释器相关的操作: (1)sys.argv           命令行参数List,第一个元素是程序本身路径 >>> sys.argv [' ...

  10. Bridge 桥接

    意图 将抽象部分与它的实现部分分离,使它们都可以独立地变化. 动机 当一个抽象可能有多个实现时,通常用继承来协调它们.抽象类定义对该抽象的接口,而具体的子类则用不同方式加以实现.但是此方法有时不够灵活 ...