Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将字符串转换并格式化为swift中的字符数组_Swift - Fatal编程技术网

将字符串转换并格式化为swift中的字符数组

将字符串转换并格式化为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将每

如何将此字符串转换为忽略前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
将每一行映射到一个字符数组并连接结果

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))
}

谢谢你,谢谢你