将字符串转换并格式化为swift中的字符数组
如何将此字符串转换为忽略前2个字符和换行符(\n)或空格的字符数组? 所以我有这个:将字符串转换并格式化为swift中的字符数组,swift,Swift,如何将此字符串转换为忽略前2个字符和换行符(\n)或空格的字符数组? 所以我有这个: var leds = """ 1 1 XXX 000 00X """ 要将此结果返回给我,请执行以下操作: ['x','x','x','0','0','0','0','0','x'] 我有这个,但它不会忽略空格、换行符或第一行的编号: let characters = Array(leds) print(characters) 提前非常感谢将字符串拆分为一个行数组,并删除第一行。然后使用flatMap将每
var leds = """
1 1
XXX
000
00X
"""
要将此结果返回给我,请执行以下操作:
['x','x','x','0','0','0','0','0','x']
我有这个,但它不会忽略空格、换行符或第一行的编号:
let characters = Array(leds)
print(characters)
提前非常感谢将字符串拆分为一个行数组,并删除第一行。然后使用
flatMap
将每一行映射到一个字符数组并连接结果
let array = leds.components(separatedBy: .newlines)
.dropFirst()
.flatMap(Array.init)
print(array) // ["X", "X", "X", "0", "0", "0", "0", "0", "X"]
使用map
而不是flatMap
可以从输入字符串中获得对应于行和列的“嵌套数组”:
let board = leds.components(separatedBy: .newlines)
.dropFirst()
.map(Array.init)
print(board) // [["X", "X", "X"], ["0", "0", "0"], ["0", "0", "X"]]
将字符串拆分为一个行数组,并删除第一行。然后使用
flatMap
将每一行映射到一个字符数组并连接结果
let array = leds.components(separatedBy: .newlines)
.dropFirst()
.flatMap(Array.init)
print(array) // ["X", "X", "X", "0", "0", "0", "0", "0", "X"]
使用map
而不是flatMap
可以从输入字符串中获得对应于行和列的“嵌套数组”:
let board = leds.components(separatedBy: .newlines)
.dropFirst()
.map(Array.init)
print(board) // [["X", "X", "X"], ["0", "0", "0"], ["0", "0", "X"]]
这也可能有用-
if let firstLine = leds.components(separatedBy: CharacterSet.newlines).first {
let removeFirstLineStr = leds.replacingOccurrences(of: firstLine, with: "")
let characters = String(removeFirstLineStr.filter { !" \n\t\r".contains($0) })
print(Array(characters))
}
或
func getCharacters() {
guard let firstLineStr = leds.components(separatedBy: "\n").first else {
return
}
let removeFirstLineStr = leds.replacingOccurrences(of: firstLineStr, with: "")
let characters = String(removeFirstLineStr.filter { !" \n\t\r".contains($0) })
print(Array(characters))
}
这也可能有用-
if let firstLine = leds.components(separatedBy: CharacterSet.newlines).first {
let removeFirstLineStr = leds.replacingOccurrences(of: firstLine, with: "")
let characters = String(removeFirstLineStr.filter { !" \n\t\r".contains($0) })
print(Array(characters))
}
或
func getCharacters() {
guard let firstLineStr = leds.components(separatedBy: "\n").first else {
return
}
let removeFirstLineStr = leds.replacingOccurrences(of: firstLineStr, with: "")
let characters = String(removeFirstLineStr.filter { !" \n\t\r".contains($0) })
print(Array(characters))
}
谢谢你,谢谢你