Swift中String使用详情

字符串常见操作

1.字符串是值类型

1.String值在传递给方法或者函数的时候会被复制过去;
2.赋值给常量或者变量的时候也是一样的;
3.Swift编译器优化了字符串使用的资源,实际上拷贝只会在确实需要的时候才进行

        var str: String = "abc"
        var str1 = str
        print(str==str1)  //true
        str += "def"
        print(str)        //abcdef
        print(str1)       //abc
        print(str=str1)   //false

2. 操作字符串

1.for -in 循环遍历String中的每一个独立的Character
2.Character类型
3.String值可以通过传入Character数组来构造

 for character in "Dong!小狗" {
  print(character)
   /**
   D
   o
   n
   g
   !
   小
   狗
  */            
  
           }
 let carCharacters: [Character] = ["C","a","t","!"]
 let catString = String(carCharacters)
 print(catString)//Cat!

3.字符串拼接

1.使用加运算符(+)创建新字符串;
2.使用加赋值符号(+=)在已经存在的String值末尾追加一个String值
 3.使用String类型的append()方法来可以给一个String变量的末尾追加Character值

4.字符串插值

1.字符串插值是一种从混合常量,变量,字面量和表达式的字符串字面量构造新String值得方法;
2.每一个你插入到字符串字面量的元素都要被一对圆括号包裹,然后使用反斜杠前缀
3.类似于NSString的stringWithFormat方法,但是更加简单,更强大

let multiplier = 3
let meassage = "\(multiplier) times 2.5 is \(Double(multiplier)*2.5)"

print(meassage)//3 times 2.5 is 7.5

5.字符串索引

1.每一个String值都有相关的索引类型,String.index ,它相当于每个Character在字符串中的位置;
2.startIndex属性来访问String中第一个Character的位置.endIndex属性就是String中最后一个字符后的位置;
3.endIndex属性并不是字符串下标脚本的合法实际参数;
4.如果String为空,则startIndex和endIndex相等;
5.使用greeting.index(before: )和index(after: )方法来访问给定索引的前后
6.要访问给定索引更远的索引,你可以使用index(_, offsetBy: );
7.使用indeices属性来访问字符串中每个字符串的索引;
注意事项:String不能使用下标的方法取值.


var greeting = "Gunten Tag!"

print([greeting.startIndex])
print([greeting.endIndex])

1.插入字符,使用insert(_, at: )方法;
2.插入另外一个字符串的内容到特定的索引,使用insert(contentsOf: , at: )方法

 greeting.insert(contentsOf:"god" , at:greeting.endIndex )

1.移除字符串,使用过remove(at: )方法
2.移除一小段特定范围的字符串,使用removeSubrange(Range<String.Index>)方法

6.字符串比较

1.字符串和字符串相等性(==和!=)
2.前缀相等性hasPrefix
3.后缀相等性hasSuffix

print(welcome==welcome1)
print(welcome.hasPrefix("hello"))
print(welcome.hasSuffix("world"))
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值