Swift-字符串空格替換

題目:將字符串中的空格替換成“%20”,當字符串為I am FlyElephat,替換之后的字符串為I%20am%20FlyElephant.

最簡單的方式就是遍歷字符串之后,進行字符串拼接:
<pre><code>` func replaceSpaces(str:String) -> String {

    var result:String = ""
    
    for i in 0..<str.characters.count {
        if str[i] == " " {
            result.append("%20")
        } else {
            result.append(str[i] as Character)
        }
    }
    
    return result
}`</code></pre>

還可以通過字符串空格的數量,對字符串進行兩次掃描,從后向前替換空格.
<pre><code>` func replaceSpaces1(str:String) -> String {

    var spaceCount:Int = 0
    
    let count:Int = str.characters.count
    
    for i in 0..<count {
        if (str[i] as Character) == " " {
            spaceCount += 1
        }
    }
    
    let charCount:Int = count + spaceCount * 2
    var chars:[Character] = [Character].init(repeating: " ", count: charCount)
    
    var index:Int = charCount - 1
    
    for i in stride(from: count - 1, to: -1, by: -1) {
        if (str[i] as Character) == " " {
            chars[index] = "0"
            chars[index - 1] = "2"
            chars[index-2] = "%"
            index -= 3
        } else {
            chars[index] = str[i] as Character
            index -= 1
        }
    }
    
    return String(chars)
}`</code></pre>

測試代碼:
<pre><code>`var replaceStr:String = "I am FlyElephant"
var replaceResult:String = myString.replaceSpaces(str: replaceStr)
print("字符串空格替換:(replaceResult)")

var result2:String = myString.replaceSpaces1(str: replaceStr)
print("字符串空格替換:(result2)")`</code></pre>

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容