2016-02-18 36 views
0

我已經做了一個func,以便我可以輕鬆地製作一個字符串小寫字母的所有字母,同時也刪除所有的字母!和空間。我做了這個FUNC(外viewDidLoad中的)爲什麼我的字符串清理函數返回原始值?

func cleanLink(linkName: String) -> String { 
    linkName.stringByReplacingOccurrencesOfString("!", withString: "") 
linkName.stringByReplacingOccurrencesOfString(" ", withString: "") 
    linkName.lowercaseString 

    return linkName 

} 

然後我用代碼

var theLinkName = cleanLink("AB C!") 


       print(theLinkName) 

的問題,這些線是,這僅僅是印刷AB!C而我想要它打印abc。我究竟做錯了什麼?

回答

5

問題是stringByReplacingOccurrencesOfString返回一個新的字符串;它執行替換到位。

您需要使用函數的返回值,而不是像這樣:

func cleanLink(linkName: String) -> String { 
    return linkName 
     .stringByReplacingOccurrencesOfString("!", withString: "") 
     .stringByReplacingOccurrencesOfString(" ", withString: "") 
     .lowercaseString 
} 

這個「鏈」的產生新的字符串的函數調用次數,並返回更換的最終結果。

相關問題