1、字符串的遍历

  //NSString 不支持一下字符串的遍历

let str = "我要飞的更高"

for c in str.characters{

print(c)

}

2、字符串的长度

  let str = "hello world你好"

//1> 返回指定编码的对应的字节数量

//UTF8的编码(0-4个)每个汉字是3个字节

print(str.lengthOfBytesUsingEncoding(NSUTF8StringEncoding))

// print(str.lengthOfBytes(using: .utf8)) Switf 3.0

//2>字符的长度 - 返回字符的个数

print(str.characters.count)

//3>使用NSString 中转

/*

str as NSString

OC 的写法 (类型*)对象

Swift 中可以使用 '值'as 类型  类型转换

*/

let ocStr = str as NSString

print(ocStr.length)

3、字符串的拼接

    let name = "老王"

  let age = 18

let title: String? = "BOSS"

//\(变量/常量)\(变量/常量)

//拼接字符串需要注意 可选项Optional

let str = "\(name)\(age)\(title ?? "")"

print(str)

4、格式化

   let h = 8

let m = 9

let s = 6

//使用格式字符串格式化

let dateStr1 = String(format: "%02d:%02d:%02d", h, m, s)

print(dateStr1)

5、字符串的子串

  //建议:一般使用 NSString 作为中转,因为Swift取子串的方法一直在优化

let str = "我们一起去飞"

   //1、NSString

let ocStr = str as NSString

let s1 = ocStr.substringWithRange(NSMakeRange(2,3))

print(s1)

  //2、String 的方法

//let r = 0..<5

//Swift 2.0

//str.substringWithRange(<aRange: Range<Index>>)

//Swift 3.0

//str.substring(with: Range<Index>)

//startIndex position = 0

print(str.startIndex)

//endIndex position = str.length

print(str.endIndex)

  

  根据给出字符串的长度截取子串

    let s2 = str.substringFromIndex("我们".endIndex)

print(s2)

let s3 = str.substringFromIndex("adc".endIndex)

print(s3)

  //取字符串的范围

guard let range = str.rangeOfString("一起")else {

print("没找到字符串")

return

}

//一定找到的范围

print(range)

print(str.substringWithRange(range))

Swift-字符串的更多相关文章

  1. 强大的swift字符串

    Swift集百家之长,吸收了主流语言java,c,c++等的好的特性,所以它功能十分强大,今天我们就来看看它强大的字符串. 首先,我们带着这样几个问题去了解.理解swift的字符串. 1.swift字 ...

  2. [Swift]字符串(String类、NSString类)常用操作

    NS是Cocoa类对象类型的前缀,来源于乔布斯建立的另一家公司--NeXTNSString的使用方法,和Swift语言中的String有很多相似之处. 1.字符串的定义String类 var str1 ...

  3. 【译】Swift 字符串速查表

    [译]Swift 字符串速查表 2015-12-18 10:32 编辑: suiling 分类:Swift 来源:CocoaChina翻译活动 10 5585 Swift字符串 招聘信息: iOS高级 ...

  4. swift(二)swift字符串和字符和逻辑运算

    /* 1.swift字符串和字符 2.构造字符串 3.字符串比较 4.数值运算 5.复制运算 6.关系运算 7.逻辑运算 8.区间运算 */ /* //数据 + 数据的处理 //字符信息+ 字符信息的 ...

  5. Swift字符串操作-持续更新-2022

    Swift字符串追加 var str = "OC" str.append(" Swfit") print(str) // 输出结果: OC Swift 输出结果 ...

  6. Swift字符串类型

    字符串初始化 1.初始化 let  someString        =   "Some      string    literalvalue" let wiseWords = ...

  7. Swift字符串的插入、删除和替换-备

    对应可变字符串可以插入.删除和替换,String提供了几个方法可以帮助实现这些操作.这些方法如下: splice(_:atIndex:).在索引位置插入字符串. insert(_:atIndex:). ...

  8. 【iOS】Swift字符串截取方法的改进

    字符串截取方法是字符串处理中经常使用的基本方法.熟悉iOS的朋友都知道在基础类的NSString中有substringToIndex:,substringFromIndex:以及substringWi ...

  9. Swift字符串可变性

    您可以通过将一个特定字符串分配给一个变量来对其进行修改,或者分配给一个常量来保证其不会被修改: var variableString = "Horse" variableStrin ...

  10. [Swift]字符串根据索引获取指定字符,依据ASCII实现字符和整数的相互转换

    ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧 ...

随机推荐

  1. 各种浏览器下的user-agent

    ie11Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko safariMozilla/5.0 (Macintos ...

  2. Python数据结构与算法设计(总结篇)

    的确,正如偶像Bruce Eckel所说,"Life is short, you need Python"! 如果你正在考虑学Java还是Python的话,那就别想了,选Pytho ...

  3. Learning Python 002 print() 和 input()

    Python print() 和 input() print()函数 print()函数可以向终端中输入指定的内容. 输出当个字符串 .py文件中,输入下面的代码,并保存: print('hello ...

  4. 2、linux-compress and uncompresse

    1.单个文件 压缩 解压 gzip file1  gzip -d file1.gz或者gunzip file1.gz #file1文件即会被压缩为 file1.gz,file1原文件删除:解压后同样删 ...

  5. Java对象在内存中的状态

    可达的/可触及的 Java对象呗创建后,如果被一个或者多个变量引用,那就是可达的,即从根节点可以触及到这个对象. 其实就是从根节点扫描,只要这个对象在引用链中,那就是可触及的. 可恢复的 Java对象 ...

  6. 11. CTF综合靶机渗透(四)

    运行环境 Virtualbox (二选一) Vnware Workstation player 通关提示 Enumeration is key Try Harder Look in front of ...

  7. javascript 数组中出现的次数最多的元素

    javascript 数组中出现的次数最多的元素 var arr = [1,-1,2,4,5,5,6,7,5,8,6]; var maxVal = arr[0]; // 数组中的最大值 var min ...

  8. 安全测试 + 渗透测试 Xmind 要点梳理

    从事测试工作多年,一直对安全测试充满神秘感.买了本书,闲来无事时翻看了解.发现书的开头提供的Xmind脑图挺有参考价值,所以做了次“搬运工”,提供给想接触了解安全测试/渗透测试的小伙伴. 安全测试要点 ...

  9. MySQL主从配置实战笔记

    其实网上已经有关于MySQL主从复制的很丰富全面的资料了,这里写点东西主要是为了给自己加深印象. 复制原理 MySQL主从复制是内建的非常强大的功能,主要应用于数据备份,负载均衡等方面.因为配置相对比 ...

  10. [CodeChef] The Street

    给定两个长度为n的数列A和B,开始数组A中每一项值为0,数组B中每一项值为负无穷大.接下来有m次操作:1.数组A区间加一个等差数列:2.数组B区间对一个等差数列取max:3.询问ai+bi的值.n&l ...