字符串

Swift -- 字符串

2016-05-07  本文已影响51人  阿黎转呀转
var str = "" // 定义一个空字符串
var str1 = String()
print(str.isEmpty) // 判断字符串是否为空串


str = "hello, "
str1 = "world"
str = str +  str1       // 字符串拼接

// 可以使用🐶作为变量名,打印输出的时候会当做一个character
var 🐶 = "我家的🐶"
for char in 🐶.characters{
    print(char)
}

var char:Character = "H"
// 定义字符数组(两种方式)
var characters:[Character] = ["H", "e", "l", "l", "o"]
var arr:Array<Character> = ["w", "o", "r", "l", "d"]
str = String(characters)
str = String(arr)

// unicode字符处理
var unicode = "\u{25}"
unicode = "\u{2654}"
unicode = "\u{1F496}\u{2658}"

// 字符数
str.characters.count
// 字符串长度
str.lengthOfBytesUsingEncoding(NSUTF8StringEncoding)

// 字符串数组操作
// predecessor得到前一个
// successor得到后一个
// advancedBy从某个位置(开始)开始数第三个
str[str.startIndex]
str[str.startIndex.advancedBy(3)]
str[str.startIndex.successor()]
str[str.endIndex.predecessor()]

// 得到字符串中所有的字符的Range,然后循环
for index in str.characters.indices{
    print("\(str[index])")
}

// 插入字符
str.insert("!", atIndex: str.endIndex)

// 插入字符集合(字符串)
str.insertContentsOf("????".characters, at: str.endIndex)

// 删除单个字符
str.removeAtIndex(str.endIndex.predecessor())
print(str)

// 删除范围多个字符
var range = str.startIndex.advancedBy(3)..<str.endIndex
str[range]
str.removeRange(range)
print(str)

// 判断字符串是否以什么开始
str.hasPrefix("wo")

// 判断字符串是否以什么结尾
str.hasSuffix("or")

// 判断两个字符串是否相等
str == "wor"

//去除字符串首位多余的字符
//运行结果 hello
let s6 = "----------hello---------";
s6.stringByTrimmingCharactersInSet(NSCharacterSet(charactersInString: "-"))


// 字符的UTF8编码
let dogStr = "dog‼狗🐶" // dog一个英文算一个UTF8编码,一个中文3个,🐶是4个
for codeUnit in dogStr.utf8{
    print(codeUnit)
}

// 字符的UTF16编码   // dog一个英文算一个UTF16编码,一个中文1个,🐶是2个
for codeUnit in dogStr.utf16{
    print(codeUnit)
}

// 字符的Scalars编码   // 都只算一个
for scalars in dogStr.unicodeScalars{
    print(scalars)
}
上一篇 下一篇

猜你喜欢

热点阅读