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. Vue之vue.js声明式渲染

    Html: <div id="app"> {{ message }} </div> Vue: var app = new Vue({ el: '#app', ...

  2. [51nod1264]线段相交

    给定两个点: typedef  struct { double  x, y; } Point; Point A1,A2,B1,B2; 首先引入两个实验: a.快速排斥实验 设以线段A1A2和线段B1B ...

  3. 面试题: mysql数据库 已看1 简单的sql练习

    数据库总结--MySQL常见面试题 2015年03月24日 17:56:06 阅读数:7787 1.根据部门号从高到低,工资从低到高列出员工的信息 select * from employee ord ...

  4. hadoop slf4j-api 1.6.x (or later) is incompatible with this binding

    hadoop slf4j-api 1.6.x (or later) is incompatible with this binding 解决方法: 在POM文件最前面加入: <dependenc ...

  5. mahout过滤推荐结果 Recommender.recommend(long userID, int howMany, IDRescorer rescorer)

    Recommender.recommend(uid, RECOMMENDER_NUM, rescorer); Recommender.recommend(long userID, int howMan ...

  6. 19.Imagetragick 命令执行漏洞(CVE-2016–3714)

    Imagetragick 命令执行漏洞(CVE-2016–3714) 漏洞简介: Imagetragick 命令执行漏洞在16年爆出来以后,wooyun上面也爆出了数个被该漏洞影响的大厂商,像腾讯, ...

  7. 拦截导弹 (NYOJ—79) 最长字串问题 (NYOJ—17)

    这是到动态规划的题目,属于有顺序的0 1 背包问题: 代码: #include<stdio.h> #include<string.h> ][]; //d[i][j] ]; in ...

  8. oracle 导入sql文件乱码

    查看  http://blog.csdn.net/fireofjava/article/details/53980966

  9. SCUT - 223 - Maya - 构造

    https://scut.online/p/223 给定两个数N,M,构造M个在[0,80000]以内的互不相同的数使之异或和为N. 首先特判一下M<=2的两个简单情况,还有坑爹的-1! 然后想 ...

  10. go培训课程都学什么?xorm框架学习系列(二):xorm结构体映射规则和表操作

    上节内容我们学习了基本的xorm框架的知识和基础配置的相关信息.本节课内容我们继续学习相关的知识和相关操作. 名称映射规则 名称映射规则主要负责结构体名称到表名和结构体field到表字段的名称映射. ...