1.  字符串定义

var s = "aaaaaa"

// 两个字符串均为空并等价。
var emptyString = ""  
var anotherEmptyString = String()

字符串字面量可以包含以下特殊字符:转义字符  \0 (空字符)、  \\ (反斜线)、  \t (水平制表符)、  \n (换行符)、 \r (回车符)、  \" (双引号)、  \' (单引号)。

    • 单字节 Unicode 标量,写成  \xnn ,其中  nn 为两位十六进制数。

    • 双字节 Unicode 标量,写成  \unnnn ,其中  nnnn 为四位十六进制数。

    • 四字节 Unicode 标量,写成  \Unnnnnnnn ,其中  nnnnnnnn 为八位十六进制数。

2.  字符串拼接

//字符串拼接
var x = "x"
var y = "y"
var z = x + y
var m = z + "m"
var n = "n"n += m//使用\()完成字符串的插值
var result = "\(x)==\(y)==\(z)==\(m)==\(n)"
println(result)
let plus1 = s1 + c1

3.  字符串遍历

var myString = "This is a string"
for character in myString
{
   println(character)
}

4.  字符个数统计

var myString = "Here is my string, lets count the characters!"
println(count(myString))

5.  字符串比较 & 是否包含前后缀

var check1:String = "Swift is good!"
var check2:String = "Swift is good!"
//字符串是否相等
if check1 == check2 

 println("check1 = check2")

else 
{  println("check1 != check2")
}
//是否包含前缀
var preCheck = "Swift"if check1.hasPrefix(preCheck) {  println("包含前缀")}
//是否包含后缀
var sufCheck = "good!"
if check1.hasSuffix(sufCheck) 
{  
println("包含后缀")
}

6.  大小写转换

let myString = "Wait a moment, please."
let newString = myString.uppercaseString
let myString = "Wait a moment, please."
let newString = myString.lowercaseString

7.  字符串是否包含其他字符串

var myString = "This is a string test"
if myString.rangeOfString("test") 
{
    println("exists")
}

8.  字符串截取

//截取字符串的标识位从1开始计数
let myString = "ABCDEFGHI"
//1.从目标标识位后一个字符开始截取余下的字符串
let mySubstring = (myString.substringFromIndex(2))
println(mySubstring)     let mySubstring2 = (myString.substringToIndex(4))
println(mySubstring2)

9.  字符串去空格

var myString = "    Let's trim the whitespace    " 
var newString = myString.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())

10.  字符串分割为字符串数组

//单一分隔符:只有一种分割符
var myString = "Berlin, Paris, New York, San Francisco"
//1.隐式定义字符串数组
var myArray = myString.componentsSeparatedByString(",")
//2.显示定义字符串数组
var myArray2 : String[] = myString.componentsSeparatedByString(", ")
for em in myArray2 {  
print(em)   
}
//多重分割符:有2个或两个以上分隔符
var myString2 = "One-Two-Three-1 2 3"
var array2:String[] = myString2.componentsSeparatedByCharactersInSet(NSCharacterSet (charactersInString: "- "))
//["One", "Two", "Three", "1", "2", "3"]

11.字符串转换为NSData

let myString = "String to encode"
let string: NSString = myString
let data = string.dataUsingEncoding(NSUTF8StringEncoding)

swift 中String常用操作的更多相关文章

  1. javascript中字符串常用操作整理

    javascript中字符串常用操作整理 字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用 ...

  2. Swift 中 String 取下标及性能问题

    Swift 中 String 取下标及性能问题 取下标 String String 用 String.Index 取下标(subscript)得到 Character,String.Index 要从 ...

  3. Swift中String和NSString的一个不同之处

    我们知道在Swift中String和NSString是可以互相转换使用的-额-应该是在绝大数情况下可以互相转换使用.在某些情况下可能还有一丝丝略微的差别:比如在涉及到处理字符串中字符索引的时候. 我们 ...

  4. 一览Swift中的常用关键字

    要学习Swift这门语言,就必须先了解Swift的关键字及对应的解释.这里就列一下在Swift中常用到的关键字. 关键字是类似于标识符的保留字符序列,除非用重音符号(`)将其括起来,否则不能用作标识符 ...

  5. javascript中字符串常用操作总结、JS字符串操作大全

    字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用操作做个整理,一者加深印象,二者方便今后温 ...

  6. js--javascript中字符串常用操作总结、JS字符串操作大全

    字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用操作做个整理,一者加深印象,二者方便今后温 ...

  7. javascript中字符串常用操作总结

    String对象属性 (1) length属性 length算是字符串中非常常用的一个属性了,它的功能是获取字符串的长度.当然需要注意的是js中的中文每个汉字也只代表一个字符,这里可能跟其他语言有些不 ...

  8. C++中string常用函数用法总结

    string(s小写)是C++标准库中的类,纯C中没有,使用时需要包含头文件#include<string>,注意不是<string.h>,下面记录一下string中比较常用的 ...

  9. Stream流的基本介绍以及在工作中的常用操作(去重、排序以及数学运算等)

    平时工作中,我在处理集合的时候,总是会用到各种流操作,但是往往在处理一些较为复杂的集合时,还是会出现无法灵活运用api的场景,这篇文章的目的,主要是为介绍一些工作中使用流时的常用操作,例如去重.排序和 ...

随机推荐

  1. Design Pattern —— Prototype /Template Method/Iterator/Composite/Bridge

    Prototype /Template Method/Iterator/Composite/Bridge 为什么把这五种设计模式放一起呢,没什么太高大上的原因,就是因为这五种模式JAVA开发最基本的特 ...

  2. 运维监控利器smokeping 500报错处理

    检查apache日志发现有以下错误: No such file or directory: exec of '/usr/local/smokeping/htdocs/smokeping.cgi' fa ...

  3. 如何打开Windows Server 2003 内存寻址扩展

    本文介绍了如何在系统内存大于4G的情况下,让windows2003 Advanced Server支持大内存的方法: 由于Windows2003 32bit是32位操作系统,当服务器配备内存高达4G时 ...

  4. POP动画引擎中Layer与CALayer的一点区别

    POP动画引擎是facebook提供的一个开源框架, 可以实现很多的动画效果, 这里就不一一介绍啦, 有兴趣的童鞋请移步: https://github.com/facebook/pop 下面简单的讲 ...

  5. 启动mySQL安装出现1067错误

    可能几种的办法: 删除data目录下的ib_logfile0和ib_logfile1 查看my.ini文件中的dir设置 查看err文件,如果是temp出现错误文件,则添加temp文件的路径

  6. QT学习篇: 入门(二)

    库存订单界面: (1)包括序号.订单代码.订单名称.产品代码.产品类型.计划加工数量.最晚完工日期. (2)model增加临时map,用于存储库存订单. (3)后台计算完成后,会将库存订单推送给前台, ...

  7. angular 引入 component 报错

    每天抽出一些时间学习 Angular2 ,并准备把手头上的项目移植为 Angular2 , 不过今天又遇到了一些小问题. 准备写一个导航类适于管理后台常见的右边导航,如博客园的这种: ! 使用 g g ...

  8. WDCP安装memcached

    memcached安装 我们打开Web控制面板的时候其实memcached是没有安装的,所以我们要手动安装这个组件. 首先是要下载安装源代码并执行. 1 2 wget -c http://down.w ...

  9. IOS编程教程(八):在你的应用程序添加启动画面

    IOS编程教程(八):在你的应用程序添加启动画面   虽然你可能认为你需要编写闪屏的代码,苹果已经可以非常轻松地把它做在Xcode中.不需要任何编码.你只需要做的是设置一些配置. 什么是闪屏 对于那些 ...

  10. 解压Taobao手机客户端发现的东西

    今天解压了Taobao手机客户端发现了几个.so文件, 其中有两个挺感兴趣的,查了一下,以后去研究下. libBSPatch.so 是用于支持增量更新功能的库文件. libwebp.so  好像是We ...