繁体   English   中英

Swift - 在数组中修剪字符串

[英]Swift - Trim String in Array

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

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

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

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

喜欢,

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM