[Swift]字符串如何移除奇数位置的字符

背景

字符串如何移除奇数位置的字符swift

熟悉基本语法,第一个答案给的很简洁,学习学习数组

答案

let string = "helloworld"
let newString = string.enumerated().filter({ $0.0 % 2 != 0 }).map({ String($0.element) }).joined()
复制代码

1.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")
复制代码

2.filter

过滤出奇数位置的数组,每一个元素也是元组(offset, element)ui

简写$0= 元组(offset, element), $0.0 = 元组.offset, $0.1 = 元组.elementspa

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")]
复制代码

3.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"]
复制代码

4. joined

将数组的每一个元素链接在一块儿字符串

let element = string.enumerated().filter({ $0.0 % 2 != 0}).map({ String($0.1) }).joined()
print(element)
复制代码

打印

elwrd
复制代码
相关文章
相关标签/搜索