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. 基本算法思想之递推算法思想(C++语言描述)

    递推算法是非常常用的算法思想,在数学计算等场合有着广泛的应用.递推算法适合有明显公式规律的场合. 递推算法基本思想 递推算法是一种理性思维莫斯的代表,根据已有的数据和关系,逐步推到而得到结果.递推算法 ...

  2. [原创]SQL表值函数:获取从当月计算起往前自定义月份数

      今天我现在发现看一篇博文不能够太长,只要能够描述清楚自己想表达的东西,能够让大家知道你要讲什么就行了.因为我今天看了一些长篇博文,真的觉得知识点太多了, 会让人囫囵吞枣. 这篇博文跟我昨天发表的类 ...

  3. 杭电acm 1034题

    Problem Description A number of students sit in a circle facing their teacher in the center. Each st ...

  4. 7、linux常见系统环境变量

    使用env命令显示所有环境变量 env  (常见的有HOSTNAME,SHELL,HISTSIZE,PERL5LIB,USER,PATH,PWD,LANG,HOME, LD_LIBRARY_PATH ...

  5. 第四课4、ROS客户端

    ROS客户端提供一些列库文件用于用户开发.它利用许多ROS概念并使它通过代码可以获取. 下面是ROS程序中的接口 ROSCPP客户端(c++客户端) 首先新建一个包 然后catkin_make一下 在 ...

  6. struts2的package和result的标签的属性

    package的属性 1.name: 配置package元素时必须指定name属性,这是引用该包的唯一标识. 2.extends: 可选属性,指定该包继承的父包,子包可以从一个或多个父包中继承到拦截器 ...

  7. ascII、iso、utf-8、Unicode的区别

    utf-8和Unicode到底有什么区别?是存储方式不同?编码方式不同?它们看起来似乎很相似,但是实际上他们并不是同一个层次的概念,utf-8是unicode的实现方式. 要想先讲清楚他们的区别,首先 ...

  8. 10.Redis未授权访问漏洞复现与利用

    一.漏洞简介以及危害: 1.什么是redis未授权访问漏洞: Redis 默认情况下,会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等 ...

  9. hdu1081

    #include<iostream> using namespace std; int GetMaxNum(int a[],int n) //求最大字段和 { int i,sum=0,ma ...

  10. Leetcode 第136场周赛解题报告

    周日的比赛的时候正在外面办事,没有参加.赛后看了下题目,几道题除了表面要考的内容,还是有些能发散扩展的地方. 做题目不是最终目的,通过做题发现知识盲区,去研究学习,才能不断提高. 理论和实际是有关系的 ...