iOS -- Swift字符串操作

转载 2016年08月29日 15:45:16

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

  1. 字符串的定义
    var str1="hello, mandarava." //字符串变量
    let str2="hello, mandarava." //字符串常量
    let str3="" //空字符串
    let str4=String() //空字符串
  2. 字符的定义
    var char1:Character="m" //字符变量
    let char2:Character="m" //字符常量
  3. 字符串的连接
    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"
  4. 字符串与字符的连接
    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"
  5. 字符串与其它类型值的连接
    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=?"
  6. 字符串枚举字符
    //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)
    }
  7. 获取字符串中指定索引处的字符
    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"
  8. 计算字符串长度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
  9. 字符串比较
    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
  10. 是否包含子串contains
    let str1="hello,mandarava."
    let str2="mandarava"
    let range=str1.rangeOfString(str2)
    if range != nil{
     //包含
    }
  11. 查找子串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
  12. 首字母大写capitalized
    var str1="mandarava is a flower."
    str1.capitalizedString
    //str1="Mandarava Is A Flower.
  13. 转换为大写字母uppercase
    var str1="hello, mandarava."
    str1=str1.uppercaseString
    //str1="HELLO, MANDARAVA."
  14. 转换为小写字母lowercase
    var str1="HELLO, MANDARAVA."
    str1=str1.lowercaseString
    //str1="hello, mandarava."
  15. 截取字符串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<String.Index>(start: advance(str1.startIndex, 6), end: advance(str1.endIndex, -1)) //Swift 1.2
    let range=Range<String.Index>(start: str1.startIndex.advancedBy(6), end: str1.endIndex.advancedBy(-1)) //Swift 2.0
    let str4=str1.substringWithRange(range)
    //str4="mandarava"
  16. 字符串修剪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."
  17. 字符串的分解子串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"]
  18. 字符串替换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."
  19. 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
  20. 其它想到再补充!如有错误欢迎指正!

相关文章推荐

IOS中的Swift基础03(字符串操作,数组,元组)

// //  main.swift //  SwiftLesson03 // //  Created by lanou on 16/10/24. //  Copyright (c) 2016...
  • ZGAaron
  • ZGAaron
  • 2016年10月25日 08:54
  • 124

Swift中关于字符串的相关操作

Swift中关于字符串的相关操作1.字符串的大写和小写操作可以通过字符串的uppercaseString和lowercaseString属性来访问一个字符串的大写和小写版本。 代码: ...

Swift字符串基本操作(二)

4字符串的字符大小写转换 字符串的uppercased()方法可以把字符串所有的小写字符变成大写字符 字符串的lowercased()方法可以把字符串所有的大写字符变成小写字符 字符串的capi...
  • bwf_erg
  • bwf_erg
  • 2017年04月23日 15:57
  • 99

Swift3.0-字符串、数组、字典操作

Swift3.0-字符串、数组、字典操作 import Foundation /* * 1、字符串 */ print("1、字符串") //Swift语言中,字符串中可以加入任何语言文字的字符 ...

Swift学习笔记(十六)——String字符串的基础操作

字符串作为一种十分重要的数据类型,有着很多的操作方法。我们一一来讲解。 (1)String Interpolation:字符串插值 不同的数据类型可以在打印的时候作为字符串的类型进行输出,可以使用“\...

Swift字符串操作

今天由于时间充足,所以多学了一点,嘻嘻

【iOS】Swift中Playground,常量、变量、字符串等小结

一、代码书写的几点变化 1. 更像Java,Javascript或Python的格式了 2. 结尾的分号可写可不写了(同一行的多条语句中间必须加分号) 3. 不需要写main函数了,直接是从上往下执行...

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

在Swift中String类的变量可以通过import Foundation来使用substringToIndex方法和substringFromIndex方法。但是不能像OC那样,以NSRange类...

iOS Swift字符串截取

Swift的字符串截取由三种方式下面我们一次介绍 方式一 根据index进行简单截取 // 声明一个字符串 Swift中字符串的类型是String类型 var strTest = "0122431...

iOS开发Swift篇—(三)字符串和数据类型

一、字符串 字符串是String类型的数据,用双引号""包住文字内容  let website = "http://www.wendingding.com" 1.字符串的常见操作 (...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS -- Swift字符串操作
举报原因:
原因补充:

(最多只允许输入30个字)