Swift-阵列中的修剪字符串



我有一个 String Array,我需要在每个字符串中修剪空格。请让我知道任何简单的方法,而无需循环循环循环。

ex: ["Apple ", "Bike ", " Cat", " Dog "]我有这样的Array。我希望所有这些空间都被修剪。

这是map的好应用。用它将其在阵列中获取每个项目,然后应用trimmingCharacters(in:)以从字符串的末端删除空格。

import Foundation // or UIKit or Cocoa
let array =  ["Apple ", "Bike ", " Cat", " Dog "]
let trimmed = array.map { $0.trimmingCharacters(in: .whitespaces) }
print(trimmed)  // ["Apple", "Bike", "Cat", "Dog"]

@Duncanc的评论是重要的一点,所以我在这里强调它:

@vacawama对地图语句的使用肯定比使用 对于循环,但我敢打赌,性能几乎完全相同。没有 魔术在这里。如果您需要检查阵列中的所有字符串 领先/落后空间,然后您需要迭代所有 字符串。这就是地图语句在内部所做的。它只是使用 功能性语法而不是命令性语法。

swift 3-4兼容

(基于 @vacawama的答案)

let items =  ["Apple ", "Bike ", " Cat", " Dog "]
let trimmed = items.map({
  return $0.trimmingCharacters(in: .whitespaces)
})
print(trimmed)  // ["Apple", "Bike", "Cat", "Dog"]

我们可以将数组作为字符串加入,并可以更换空间。

喜欢,

 let array =  ["Apple ", "Bike ", " Cat", " Dog "]
 var jointString = array.joinWithSeparator(",")
 jointString = jointString.stringByReplacingOccurrencesOfString(" ", withString: "")
 let newArray = jointString.componentsSeparatedByString(",")
 print(newArray)

最新更新