如何在 swift 4 中用所有大写字母分隔单词



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

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

期望的输出

  • myArray[0] = 芝加哥
  • myArray[1] = 皮奥里亚
  • myArray[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"]

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

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

最新更新