为什么我的字符串清理函数返回原始值?

时间:2016-02-18 18:39:45

标签: swift

我已经制作了一个功能,这样我就可以轻松地将所有字母组成小写字母,同时还可以删除所有字母!和空间。我做了这个函数(在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。我做错了什么?

1 个答案:

答案 0 :(得分:5)

问题是stringByReplacingOccurrencesOfString返回一个新字符串;它没有执行替换。

您需要使用函数的返回值,如下所示:

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

这个"连锁店"调用生成新字符串的函数,并返回替换的最终结果。