字符串如何移除奇数位置的字符swift
熟悉基本语法,第一个答案给的很简洁,学习学习数组
let string = "helloworld"
let newString = string.enumerated().filter({ $0.0 % 2 != 0 }).map({ String($0.element) }).joined()
复制代码
enumerated
和for in
结合起来作遍历bash
let string = "helloworld"
for element in string.enumerated() {
print(element)
}
复制代码
能够获得的元组(offset, element)
学习
(offset: 0, element: "h")
(offset: 1, element: "e")
(offset: 2, element: "l")
(offset: 3, element: "l")
(offset: 4, element: "o")
(offset: 5, element: "w")
(offset: 6, element: "o")
(offset: 7, element: "r")
(offset: 8, element: "l")
(offset: 9, element: "d")
复制代码
filter
过滤出奇数位置的数组,每一个元素也是元组(offset, element)
ui
简写$0
= 元组(offset, element)
, $0.0
= 元组.offset
, $0.1
= 元组.element
spa
let element = string.enumerated().filter({ $0.0 % 2 != 0})
print(element)
复制代码
打印code
[
(offset: 1, element: "e"),
(offset: 3, element: "l"),
(offset: 5, element: "w"),
(offset: 7, element: "r"),
(offset: 9, element: "d")]
复制代码
map
至关于从新对每一个元素作改造,如今每一个数组元素是元组,先把每一个元素改形成字符串element
let element = string.enumerated().filter({ $0.0 % 2 != 0}).map({ String($0.element) })
// 或 string.enumerated().filter({ $0.0 % 2 != 0}).map({ String($0.1) })
print(element)
复制代码
打印rem
["e", "l", "w", "r", "d"]
复制代码
joined
将数组的每一个元素链接在一块儿字符串
let element = string.enumerated().filter({ $0.0 % 2 != 0}).map({ String($0.1) }).joined()
print(element)
复制代码
打印
elwrd
复制代码