swift 过滤字符串_Swift字符串常用操作总结

作者:Mandarava(鳗驼螺)

版本2:增加了Swift 2.0的语法,与Swift 1.2的语法相比,主要是:advance方法变成了advancedBy方法(但不是简单替换);没有了count方法,count(str)需要变成str.characters.count等。

字符串的定义

var str1="hello, mandarava." //字符串变量

let str2="hello, mandarava." //字符串常量

let str3="" //空字符串

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

字符的定义

var char1:Character="m" //字符变量

let char2:Character="m" //字符常量

字符串的连接

let str1="hello, "

let str2="mandarava."

let str3=str1+str2 //=连接str1、str2

//str3="hello, mandarava."

//----------------------------------------

let str4="\(str1)\(str2)" //=连接str1、str2

//str4="hello, mandarava."

//----------------------------------------

let strArray=["apple", "orange", "cherry"]

let joinStr=",".join(strArray)

//joinStr="apple,orange,cherry"

字符串与字符的连接

let char1:Character="o"

var str1="hell"

let str2=str1+String(char1)

//str2="hello"

//----------------------------------------

let str3="\(str1)\(char1)"

//str3="hello"

//----------------------------------------

str1.append(char1)

//str1="hello"

字符串与其它类型值的连接

let xx=10

let yy=10.8

let str1="\(xx)+\(yy)=?"

//str1="10+10.8=?"

//----------------------------------------

let str2=String(format: "%i+%.1f=?", xx, yy)

//str2="10+10.8=?"

字符串枚举字符

//Swift 1.2

let str="mandarava"

for ch in str{

println(ch)

}

//-----------------------

//Swift 2.0

let str="mandarava"

for ch in str.characters{

print(ch)

}

获取字符串中指定索引处的字符

let str="Mandarava"

let chr=str[advance(str.startIndex,2)] //Swift 1.2 //chr:Character="n"

let chr=str[str.startIndex.advancedBy(2)] //Swift 2.0 //chr:Character="n"

计算字符串长度length

let str="@鳗驼螺"

let len1=count(str) //swift 1.2 //=4

let len2=str.characters.count //swift 2.0 //=4

let blen=str.lengthOfBytesUsingEncoding(NSUTF8StringEncoding) //=10

字符串比较

let str1="hello,"

let str2="mandarava."

let str3="hello,mandarava."

let comp1 = str1==str2 //false

let comp2 = str1+str2 == str3 //true

let comp3 = str1 < str2 //true

let comp4 = str1 != str2 //true

是否包含子串contains

let str1="hello,mandarava."

let str2="mandarava"

let range=str1.rangeOfString(str2)

if range != nil{

//包含

}

查找子串indexof

var str="hi,Mandarava."

let range=str.rangeOfString("Mandarava", options: NSStringCompareOptions.allZeros) //Swift 1.2

let range=str.rangeOfString("Mandarava", options: NSStringCompareOptions()) //Swift 2.0

let startIndex=range?.startIndex //=3

首字母大写capitalized

var str1="mandarava is a flower."

str1.capitalizedString

//str1="Mandarava Is A Flower.

转换为大写字母uppercase

var str1="hello, mandarava."

str1=str1.uppercaseString

//str1="HELLO, MANDARAVA."

转换为小写字母lowercase

var str1="HELLO, MANDARAVA."

str1=str1.lowercaseString

//str1="hello, mandarava."

截取字符串substring

let str1="hello,mandarava."

let str2=str1.substringFromIndex(advance(str1.startIndex, 6)) //Swift 1.2

let str2=str1.substringFromIndex(str1.startIndex.advancedBy(6)) //Swift 2.0

//str2="mandarava."

//----------------------------------------

let str3=str1.substringToIndex(advance(str1.startIndex, 5)) //Swift 1.2

let str3=str1.substringToIndex(str1.startIndex.advancedBy(5)) //Swift 2.0

//str3="hello"

//----------------------------------------

let range=Range(start: advance(str1.startIndex, 6), end: advance(str1.endIndex, -1)) //Swift 1.2

let range=Range(start: str1.startIndex.advancedBy(6), end: str1.endIndex.advancedBy(-1)) //Swift 2.0

let str4=str1.substringWithRange(range)

//str4="mandarava"

字符串修剪trim

let str1=" mandarava.\n "

let str2=str1.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())

//str2="mandarava."

//----------------------------------------

let str3=str1.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())

//str3="mandarava.\n"

//----------------------------------------

let charset=NSCharacterSet(charactersInString:" \n")

let str4=str1.stringByTrimmingCharactersInSet(charset)

//str4="mandarava."

字符串的分解子串split

var str1="boy, girl, man, woman"

let str1Array=str1.componentsSeparatedByString(",")

//str1Array=["boy", " girl", " man", " woman"]

var str2="boy,girl,man 10 20 30"

let charset=NSCharacterSet(charactersInString:", ")

let str2Array=str2.componentsSeparatedByCharactersInSet(charset)

//str2Array=["boy", "girl", "man", "10", "20", "30"]

字符串替换replace

var str1="My name is Mandarava."

let subRange=Range(start: str1.startIndex, end: advance(str1.startIndex, 2)) //Swift 1.2

let subRange=Range(start: str1.startIndex, end: str1.startIndex.advancedBy(2)) //Swift 2.0

str1.replaceRange(subRange, with: "Your")

//str1="Your name is Mandarava."

var str2="hello, Mandarava."

str2=str2.stringByReplacingOccurrencesOfString("Mandarava", withString: "鳗驼螺")

//str2="hello, 鳗驼螺."

str2=str2.stringByReplacingOccurrencesOfString("鳗驼螺", withString: "Mandarava", options: NSStringCompareOptions.CaseInsensitiveSearch, range: nil)

//str2="hello, Mandarava."

string转换为Int/Long/Float/Double/Bool等

var str1="100"

var i=str1.toInt()! //Swift 1.2 //=100

var i=(str1 as NSString).integerValue //Swift 2.0 //=100

var i=(str1 as NSString).intValue //=100

var l=(str1 as NSString).longLongValue //=100

var str2="10.8"

var f=(str2 as NSString).floatValue //=10.8

var d=(str2 as NSString).doubleValue //=10.8

var str3="true"

var b=(str3 as NSString).boolValue //=true

其它想到再补充!如有错误欢迎指正!

by Mandarava(鳗驼螺)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值