如何用快速4中的所有大写字母分隔单词

问题描述 投票:1回答:2

我不知道如何通过查看所有大写字母来分隔单词并将它们分配到数组中。

var myString2 : String = "Cities of Illinois are CHICAGO PEORIA ROCKFORD"

期望的输出

  • myArray [0] =芝加哥
  • myArray [1] = PEORIA
  • myArray [2] = ROCKFORD

提前致谢

swift4
2个回答
2
投票

也许你可以使用正则表达式来实现你想要的。

var myString2 : String = "Cities of Illinois are CHICAGO PEORIA ROCKFORD"
let pattern = "\\b[A-Z]+\\b"
let regex = try! NSRegularExpression(pattern: pattern)
let matches = regex.matches(in: myString2, range: NSRange(0..<myString2.utf16.count))
let myArray = matches.map {String(myString2[Range($0.range, in: myString2)!])}
print(myArray) //->["CHICAGO", "PEORIA", "ROCKFORD"]

0
投票

您可以使用以下行来获取所需的数组:

let array = myString2.components(separatedBy: " ").filter({ $0.compare($0.uppercased()) == .orderedSame })

脚步:

let arr = myString2.components(separatedBy: " ")
let filteredArray = arr.filter({ $0.compare($0.uppercased()) == .orderedSame })
© www.soinside.com 2019 - 2024. All rights reserved.