如何从我的标题中删除重复的空格?

  • 本文关键字:空格 删除 标题 ios swift
  • 更新时间 :
  • 英文 :


我有一个长字符串在标题中使用的文本标签,我有一些额外的空间。我想删除这多个空格,但只留下一个。例如"Stack over flow很好。应返回"Stack over flow很好

我写这个函数:

func headlineFixer(headline: String) -> String {
let components = headline.components(separatedBy: .whitespacesAndNewlines)
return components.filter { !$0.isEmpty }.joined(separator: " ")
}

看起来不错,但有技巧。它打印"stack over flow is good";但我早就料到了";Stack over flow很好。我怎么能解决这个问题,或者有任何方法实现这一点。

?

首先,即使你的解决方案是正确的,它也不是一个完美的方法。因为你的方法包含了太多的循环,即使第一眼看起来很短很好

你可以通过检查";并附加一个变量字符串类型。

希望Swift有一个用于字符串的方法叫做replacingooccurs。使用这种方法,并在空格前添加+,就可以解决这个问题。

func clearWay(input: String) -> String {
return input.replacingOccurrences(of: " +", with: " ", options: .regularExpression, range: nil)
}

print(clearWay(input: "  stack over flow is     nice"))
// result is: stack over flow is nice
// just like you wish

最新更新