2014-07-02 201 views
18

嗨,大家好我有變量,其中的符號或字符的內容我不知道你怎麼說這個「\」在英語中...如何用我的變量中的空白空間替換所有\Swift - 替換字符串中的字符

var content = theContent["content"] as String 
self.contentLabel.text = content.stringByReplacingOccurrencesOfString(<#target: String#>, withString: <#String#>, options: <#NSStringCompareOptions#>, range: <#Range<String.Index>?#>) 

如何來填補這個空間或我的sintax是錯誤的,當我使用content.string ......然後在#target我使用相同字符串?任何人如此快速地學習Swift? :d

回答

28

使用以下

self.contentLabel.text = content.stringByReplacingOccurrencesOfString("\\", withString: " ", options: NSStringCompareOptions.LiteralSearch, range: nil) 
14

如果你想在斯威夫特寫這個,試試:

self.contentLabel.text = Array(myString).reduce("") { $1 == "\\" ? $0 : "\($0)\($1)" } 

這是寫作的手短方式:

Array(myString).reduce("", combine: { (inputString, character) -> String in 
    if character == "\\" { 
     return inputString 
    } else { 
     return "\(inputString)\(character)" 
    } 
}) 

這將myString轉換爲ArrayCharacter s,然後使用reduce函數將它們追加在一起成爲String,但用空字符串代替反斜槓

+0

您是什麼意思純粹的swift?這看起來很激烈。你能解釋一下在這個例子中發生了什麼? – Aggressor

+3

By * pure * Swift,我的意思是它沒有使用任何基礎類(例如NSString) - 爲了清晰起見更新了我的答案 –