美文网首页
4.字符串和字符

4.字符串和字符

作者: LucXion | 来源:发表于2021-07-12 11:57 被阅读0次

多行字符串字面量: """

  • 用反斜杠\ 可以消除换行符

  • 控制关闭引号前的空格可以做到首行缩进

字面量特殊字符

  • 转义字符 \0(空字符)、\\(反斜线)、\t(水平制表符)、\n(换行符)、\r(回车符)、\"(双引号)、\'(单引号)。

  • Unicode 标量,写成 \u{n}(u 为小写),其中 n 为任意一到八位十六进制数且可用的 Unicode 位码。

  • 扩展字符串分隔符 #

print(#"abc\(abc)"#)
// 输出 abc\(abc)

字符串是值类型

Character 类型代表一个可扩展的字形群

let eAcute: Character = "\u{E9}"                         // é
let combinedEAcute: Character = "\u{65}\u{301}"          // e 后面加上  ́
// eAcute 是 é, combinedEAcute 是 é
let precomposed: Character = "\u{D55C}"                  // 한
let decomposed: Character = "\u{1112}\u{1161}\u{11AB}"   // ᄒ, ᅡ, ᆫ
// precomposed 是 한, decomposed 是 한

字符串索引:String由Character组成,Character可能由多个Unicode标量组成,所以不能用整数索引

let greeting = "Guten Tag!"
greeting[greeting.startIndex]
// G
greeting[greeting.index(before: greeting.endIndex)]
// !
greeting[greeting.index(after: greeting.startIndex)]
// u
let index = greeting.index(greeting.startIndex, offsetBy: 7)
greeting[index]
// a

var welcome = "hello"
welcome.insert("!", at: welcome.endIndex)
// welcome 变量现在等于 "hello!"

welcome.insert(contentsOf:" there", at: welcome.index(before: welcome.endIndex))
// welcome 变量现在等于 "hello there!"

welcome.remove(at: welcome.index(before: welcome.endIndex))
// welcome 现在等于 "hello there"

let range = welcome.index(welcome.endIndex, offsetBy: -6)..<welcome.endIndex
welcome.removeSubrange(range)
// welcome 现在等于 "hello"
字符串与子字符串的关系

字符串的比较:

// "Voulez-vous un café?" 使用 LATIN SMALL LETTER E WITH ACUTE
let eAcuteQuestion = "Voulez-vous un caf\u{E9}?"
// "Voulez-vous un café?" 使用 LATIN SMALL LETTER E and COMBINING ACUTE ACCENT
let combinedEAcuteQuestion = "Voulez-vous un caf\u{65}\u{301}?"
if eAcuteQuestion == combinedEAcuteQuestion {
    print("These two strings are considered equal")
}

let latinCapitalLetterA: Character = "\u{41}"
let cyrillicCapitalLetterA: Character = "\u{0410}"
if latinCapitalLetterA != cyrillicCapitalLetterA {
    print("These two characters are not equivalent")
}

let StringA = String.init(latinCapitalLetterA)
let StringB = String.init(cyrillicCapitalLetterA)
let NA = NSString.init(string: StringA)
let NB = NSString.init(string: StringB)
if StringA != StringB {
    print("String不相等")
}
if NA != NB {
    print("NSString不相等")
}

Unicode:

是一个用于在不同书写系统中对文本进行编码、表示和处理的国际标准。它使你可以用标准格式表示来自任意语言几乎所有的字符,并能够对文本文件或网页这样的外部资源中的字符进行读写操作。Swift 的 StringCharacter 类型是完全兼容 Unicode 标准的。

相关文章

  • JAVA之字符串总结

    一、字符串总结 1.字符串和字符串相加 2.字符串和数字相加 3.计算字符串的长度 4.判断字符串是否相等 5.字...

  • 4.字符串String

    目录0.字符串介绍1.字符串定义和初始化2.字符串元素访问3.字符串连接4.字符串分割5.字符串修改6.字符串判断...

  • 2020-05-17

    1.字符串编码存储: 2.实例: 3.内存中: 4.选择: 5.字符串和bytes: 6.字符串和bytes转换:...

  • 07-Swift字符串

    1.字符串字面量 2.初始化空字符串 3.字符串可变性 4.使用字符 5.连接字符串和字符 6.格式字符串 7.字...

  • php常用的字符串函数

    1.字符串和数组之间的相互转化 2.字符串的截取 3.字符串位置查找 4.去除空格和字符串填补函数 5.字符串的大...

  • 4.字符串和字符

    多行字符串字面量: """ 用反斜杠\ 可以消除换行符 控制关闭引号前的空格可以做到首行缩进 字面量特殊字符 转义...

  • 字符串

    1.概要 2.文本表示 2.字符串和名字的区别 3.字符串操作 4.字符串是一个序列

  • ABAP开发之字符串操作

    1.字符串连接--CONCATENATE 2.字符串分割--SPLIT 3.字符串截取--使用加号(+) 4.字符...

  • Swift5.0 字符串(String)详解

    1.字符串拼接 + 拼接 \() 拼接 2.字符串是否为空判断 3.字符串长度 4.字符串比较 == > < 5....

  • ES6常用的新特性

    1.let和const定义变量2.变量的结构赋值: 3.字符串的遍历: 4.模板字符串: 5.字符串的方法: 6....

网友评论

      本文标题:4.字符串和字符

      本文链接:https://www.haomeiwen.com/subject/euefpltx.html