swift3.0_String(字符串)的使用

初始化空字符串

var emptyString = ""               // 空字符串字面量
var anotherEmptyString = String()  // 初始化方法
// 两个字符串均为空并等价。

字符串可变性

var variableString = "Horse"
variableString += " and carriage"
// variableString 现在为 "Horse and carriage"

字符串格式化,使用\(item)

let apples = 6

let oranges = 8

let applesSummary = "i have \(apples) apples"

let fruitSummary = "\(apples + oranges) fruit"

print(applesSummary,"and",fruitSummary)

类型转换

let lable = "the width is"

let val = 66

let lableWidth = lable + String(val)//swift不支持隐式类型转换,需显式转换

字符

let money :Character = "¥"

let face:Character = "?"

print("\(money) \(face)")

/*字符串常量包含的特殊字符:空字符\0,反斜杠\,制表符\t,换行符\n,回车符\r,双引号\",单引号\'*/

字符计数

let countstr = "wo shi sha sha de "

print("count's count is \(countstr.characters.count)")//算上空格

//字符串操作//

var str00 = "i am string"

let str01 = ""

let str02 = "我是字符串"

判断字符串是否为空

str00.isEmpty

获取字符串字符数量

str01.characters.count

检查字符串是否含有特定的前缀/后缀

str00.hasPrefix("i")//前缀

str00.hasSuffix("i")//后缀

大小写字母转换

str00.uppercased()

str00.lowercased()

str02.uppercased()//中文进行大小写转换不起作用

str00.capitalized

字符串截取

(str00 as NSString).substring(to: 4)//留下字符串前4个字母

(str00 as NSString).substring(from: 4)//不要前4个字母

(str00 as NSString).substring(with: NSMakeRange(2, 2))

去除字符串最后的字母或首字母

let index0 = str00.index(before: str00.endIndex)

let index1 = str00.index(after: str00.startIndex)

str00.remove(at:index0)

str00.remove(at: index1)

获取某个子串在父串中的范围

str00.range(of: "am")

字符串转为数组

let str3 = "10:20:c:d:e"

let result = str3.components(separatedBy:":")

字符串转为[Character]

let characters = str3.sorted()

指定范围内的字符串替换为其他字符串,将cde替换成m,使输出结果为abmfghi

let str4 = "abcdefghi"

let startIndex = str4.index(str4.startIndex, offsetBy:2)

let endIndex = str4.index(startIndex, offsetBy:3)

let result4 = str4.replacingCharacters(in:startIndex..<endIndex,with:"m")

Int转16进制字符串

var hexStr = String().appendingFormat("%x",16)

Int转8进制字符串

var octStr = String().appendingFormat("%o",16)

16进制字符串转十进制数

func strHexToInt()  { 

let str = "3E 49 52"

 let strArray = str.components(separatedBy: " ") 

 var byte:UInt32 = 0  

 for i in 0 ..< strArray.count { 

     let ok = Scanner(string: strArray[i]).scanHexInt32(&byte) 

         if ok {

         //若转十进制成功 print(byte) 

         } 

     }

 }

string转换成为Int8

func stringToInt(str: String) -> Array{ 

 let nsStr:NSString = str as NSString 

var arr = Array<Int8>()

    for i in 0 ..< str.characters.count {

        let int8:Int8 = nsStr.utf8String![i] //result = 99

        arr.append(int8)

    }

    return arr

}

把字符串前后的空格或换行符去掉

var tempStr = "  he ll o \r\r"
let str = tempStr.trimmingCharacters(in: .whitespacesAndNewlines)//"hello"

遇到空格或换行的地方把字符串拆开

var tempArray = readClientDataString!.components(separatedBy: .whitespacesAndNewlines)

去除数组中的""

tempArray = tempArray.filter{

      $0 != ""

 }

字符串替换Volume -> v

var Str = "hello s"
let StrReplaced = Str.replacingOccurrences(of: "s", with: "amberoot")//"hello amberoot"

将十六进制数字转换为Int

let intData = NSString(format: "%d", 0x10).integerValue//16

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值