Swift - 在数组中修剪字符串

时间:2016-06-17 11:01:40

标签: ios arrays swift

我有一个String Array,我需要修剪每个字符串中的空格。 请以任何简单的方式告诉我,不要将它们循环到for循环中。

Ex:["Apple ", "Bike ", " Cat", " Dog "] 我有Array这样的话。我想要修剪所有这些空间。

3 个答案:

答案 0 :(得分:12)

这是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使用map语句肯定比使用a更像“Swift-like”   for loop,但我敢打赌,性能几乎完全相同。没有   魔术在这里。如果你需要检查数组中的所有字符串并修剪   前导/尾随空格然后你需要遍历所有   字符串。这就是map语句在内部的作用。它只是使用   功能而不是命令式语法。

答案 1 :(得分:0)

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"]

答案 2 :(得分:-2)

我们可以将数组作为String加入,并且可以替换空格。

像,

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

 let newArray = jointString.componentsSeparatedByString(",")
 print(newArray)