DAY3:String & Character


哈哈哈,刚才看见微博,有人推荐一个神奇的工具,推荐给大家http://swiftlang.ng.bluemix.net/#/repl是IBM公司出的,编译器的版本是Swift2.2,现在可以使用之前的String的那些方法了,哈哈哈

插入和删除(Inserting and Removing)

调用insert(_:atIndex:)方法可以在一个字符串的指定索引插入一个字符

    var welcome = "hello"
    welcome.insert("!",atIndex:welcome.endIndex)
  //welcome现在就是"hello!"

还可以在一个字符串的指定索引插入一个字符串,调用insertContentsOf(_:at:)方法

welcome.insertContentsOf(" there".characters, at: welcome.endIndex.predecessor())
现在welcome就是"hello there!"(是接着上面的例子哦,暂时的编译器还是会报错的,待升级之后再试试)

调用removeAtIndex(_:) 方法可以在一个字符串的指定索引删除一个字符

var welcome = "hello there!"
welcome.removeAtIndex(welcome.endIndex.predecessor())
//这时候welcome的值就是"hello there",把最后一个字符后一位的前一位移除了就是移除了"!"

调用removeRange(_:)方法可以在一个字符串指定索引删除一个子字符串

var welcome = "hello there"
let range = welcome.endIndex.advanceBy(-6)..<welcome.endIndex
welcome.removeRange(range)

DAY2里面说过,我们可以调用advanceBy()来获取一个索引,编译器的原因暂时不能实现,上面的例子表示的意思是从空格删除到最后的e,welcome现在就等于hello

比较字符串(Comparing Strings)

let quotation = "We're a lot alike, you and I."
let sameQuotation = "We're a lot alike, you and I."
if quotation == sameQuotation {
    print("These two string are considered equal")
}
//These two string are considered equal

我们可以使用(==)和(!=)来比较,如果两个字符串的可扩展的字形群集是标准相等的,那么它们就是相等的,即使可扩展的字形群集是由不同的Unicode标量构成的,只要语言意义和外观相同就认为是相同的.

let a = "caf\u{E9}" //é
let b = "caf\u{65}\u{301}"  //e和重音符号
if a == b{
    print("These two strings are considered equal")
}
//These two strings are considered equal

前缀/后缀相等(Prefix and Suffix Equality )

通过调用字符串hasPrefix()/hasSuffix()方法来检查是否有前后缀,两个都输入一个String类型的参数,返回一个布尔值。这里举了一个例子,用一个定义为常量的数组romeoAndJuliet,可以看见,数组是用[]来申明的,数组内的变量用逗号隔开,具体的数据类型我看后面有详细的章节会讲,到时候学习

let romeoAndJuliet = [
"Act 1 Scene 1: Verona, A public place",
"Act 1 Scene 2: Capulet's mansion",
"Act 1 Scene 3: A room in Capulet's mansion",
"Act 1 Scene 4: A street outside Capulet's mansion",
"Act 1 Scene 5: The Great Hall in Capulet's mansion",
"Act 2 Scene 1: Outside Capulet's mansion",
"Act 2 Scene 2: Capulet's orchard",
"Act 2 Scene 3: Outside Friar Lawrence's cell",
"Act 2 Scene 4: A street in Verona",
"Act 2 Scene 5: Capulet's mansion",
"Act 2 Scene 6: Friar Lawrence's cell"
]

定义了一个变量用来计数前缀中含有Act 1的,这里一共有五次

var act1SceneCount = 0
for scene in romeoAndJuliet {
if scene.hasPrefix("Act 1"){
    ++act1SceneCount
  }
}
print("There are \(act1SceneCount) scenes in Act 1")
//There are 5 scenes in Act 1

定义了两个变量,来数字符串后缀中含有这两个的值,这里有一个for循环一个if,else if循环,具体的语法后面也有详细的章节讲解

var mansionCount = 0
var cellCount = 0
for scene in romeoAndJuliet{
if scene.hasSuffix("Capulet's mansion"){
    ++mansionCount
}else if scene.hasSuffix("Friar Lawrence's cell"){
    ++cellCount
  }
}
print("\(mansionCount) mansion scenes;\(cellCount) cell scenes")
//6 mansion scenes;2 cell scenes

Unicode Representations of Strings

apple的String&Character中还有这个章节Unicode Representations of Strings,这里就不示范了,有兴趣的大家可以看一下,我睡觉前看下~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,372评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,368评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,415评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,157评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,171评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,125评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,028评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,887评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,310评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,533评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,690评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,411评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,004评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,812评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,693评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,577评论 2 353

推荐阅读更多精彩内容