web-dev-qa-db-ja.com

Swift-文字列の文字を置き換える

記号または文字を含む変数があります。英語でこの「\」をどのように言うかわかりません...変数内のすべての\を空のスペースに置き換える方法は?

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

Content.string ...を使用し、#targetで同じ文字列を使用すると、このスペースを埋める方法や悪行税が間違っていますか? Swiftとても速い?:Dを学んだ人は誰でも

18
Bogdan Bogdanov

以下を使用してください

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

これをpure Swiftで記述したい場合は、次を試してください。

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)"
    }
})

これにより、myStringArraysのCharacterに変換され、次にreduce関数を使用してそれらが一緒にStringに追加されますが、置換されます。バックスラッシュの代わりに空の文字列

14
Ashley Mills