swift --字符串常用方法总结

在oc中有NSMutableString和NSString两种类型的字符串,但在swift中分别在定义的时候使用let和var来代表是否可以操作。let和var也通用于其他类型。使用let修饰的为不可变,使用var修饰的可变。

//使用var修饰可以动态的改变值
        var varStr = "nihao"
        varStr     = "hello"
        
        //使用let修饰编译不能通过
        let letStr = "let nihao"
        letStr     = "hello"

常用方法

1、字符串拼接

字符串和字符的值可以通过+号来拼接并创建一个新的字符串

var varStr = "nihao"
        varStr     = "hello"
        let letStr = "let nihao"
        
        var newStr = varStr + letStr
        print(newStr)

可以通过+=运算符将一个字符串添加到一个已经存在的字符串常量上,当然此字符串必须是var修饰的

var varStr = "nihao"
let letStr = "let nihao"
varStr += letStr
        print(varStr)

可以同过append附加给字符串一个字符

var varStr = "nihao"

        let char :Character = "!"
        varStr.append(char)
        print(varStr)

2、字符串的带入

将需要操作的变量或者常量用()包住,并在前面带上\符

let number = 5
let str = "\(number) 个人有 \(number * 3) 本书"
print(str)

输出结果:
5 个人有 15 本书

3、字符串个数

获取字符串个数使用strlen函数

//字符串个数
        let str = "ajsdjofijweoifjaowiejfoiaw"
        let countOfStr = (strlen(str))
        print(countOfStr)

4、字符串大小写

//字符串大小写
        let normal = "nihao"
        let uppercaseNormal = normal.uppercaseString
        print(uppercaseNormal)  //结果为:NIHAO
        let lowercaseNormal = uppercaseNormal.lowercaseString
        print(lowercaseNormal)  //结果为:nihao
        //首字母大写
        var str = "hello my name is zjh"
        let capitalezedStr  =  str.capitalizedString
        print(capitalezedStr)   //结果为:Hello My Name Is Zjh

5、字符串截取

swift中截取字符串的坐标参数不是int类型,对应的参数为String.index。得创建对应的截取参数

//        字符串截取
        let str = "abcdefghijklm"
        let startIndex  = str.startIndex.advancedBy(3)  //起始
        let endIndex    = str.endIndex.advancedBy(-2)   //结束
        var range = Range<String.Index>(start: startIndex,end: endIndex) //区域
        var subString1 = str.substringToIndex(endIndex)
        var subString2 = str.substringFromIndex(startIndex)
        var subString3 = str.substringWithRange(range)
        print(subString1)
        print(subString2)
        print(subString3)
        
        //输出结果
//        abcdefghijk
//        defghijklm
//        defghijk

6、字符串比较

三种:字符串是否相等、前缀或后缀是否相等

//字符串比较
        let str1 = "abcdefg.com"
        let str2 = "abdoil.com"
        if str1 == str2 {
            
            print("两者相等")
        }
        
    
        //判断前缀
        if str1.hasPrefix("ab") {
            
            if str2.hasPrefix("ag") {
                
                print("两个前缀相等")
            }
        }
        
        //后缀
        if str1.hasSuffix(".com") {
            
            if str2.hasSuffix(".com") {
                
                print("两个后缀相等")
            }
        }

 

转载于:https://my.oschina.net/zhengjianhua/blog/702048

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值