我有一个String
Array
,我需要修剪每个字符串中的空格。
请以任何简单的方式告诉我,不要将它们循环到for循环中。
Ex:["Apple ", "Bike ", " Cat", " Dog "]
我有Array
这样的话。我想要修剪所有这些空间。
答案 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)