当前位置: 首页 > 面试题库 >

如何在Swift中将字符串的每个单词放入数组?

陆信瑞
2023-03-14
问题内容

是否可以在Swift中将字符串的每个单词放入数组中?

例如:

var str = "Hello, Playground!"

至:

var arr = ["Hello","Playground"]

谢谢 :)


问题答案:

编辑/更新:

Xcode 10.2•Swift 5或更高版本

我们可以StringProtocol使用集合拆分方法进行扩展

func split(maxSplits: Int = Int.max, omittingEmptySubsequences: Bool = true, whereSeparator isSeparator: (Character) throws -> Bool) rethrows -> [Self.SubSequence]

设置omittingEmptySubsequences为true并通过闭包作为谓词。我们还可以利用new
Character属性isLetter来分割字符串。

extension StringProtocol {
    var words: [SubSequence] {
        return split { !$0.isLetter }
    }
}
let sentence = "• Hello, Playground!"
let words = sentence.words // ["Hello", "Playground"]


 类似资料:
  • 问题内容: 是否具有将字符串中的每个单词都大写的功能,或者这是手动过程? 例如“鲍勃高”,而我想要“鲍勃高” 当然有东西,我发现的Swift IOS答案似乎都没有涵盖。 问题答案: 你在找吗 讨论 一个字符串,其中每个单词的第一个字符均更改为其相应的大写值,而所有其余字符均设置为其相应的小写值。 和/或 使用指定的语言环境返回接收器的大写形式。 对于提供给用户的字符串,请传递当前语言环境([NSL

  • 问题内容: 我有一个字符串:“ hello good old world”,我想将每个单词的每个首字母大写,而不是使用.toUpperCase()整个字符串。是否有现成的java助手可以完成这项工作? 问题答案: 看看ACL WordUtils。

  • 问题内容: 我的代码中有一个小问题。我正在尝试反转单词和字符串的字符。例如,“狗跑了”将变成“ ehT神纳尔” 该代码几乎可以正常工作。它只是不添加空格。你会怎么做? 问题答案: 您走在正确的轨道上。主要问题是一个空字符串,而不是一个空格(即使您解决了这个问题,您可能也不想在最后一个单词之后留一个空格)。 这是您可以更简洁地执行此操作的方法:

  • 问题内容: Java中是否内置了一个函数,该函数可以大写字符串中每个单词的第一个字符,而不会影响其他单词? 例子: jon skeet -> Jon Skeet miles o’Brien-> Miles O’Brien(B仍然是大写字母,这排除了标题大小写) old mcdonald-> Old Mcdonald* (Old McDonald也可以找到,但我不认为它会那么聪明。) 快速浏览一下J

  • 以下是程序必须遵循的规则: 中的每个单词都必须被拆分为字母,并从一开始就反转它们 只有长度等于或大于 例如,如果并输入。这里,的长度小于n,因此不能颠倒,但定律和引力的长度大于或等于3,因此必须颠倒为 和 最终输出:ttacaroitn的wal 在我给定的代码中,我只能反转字符串,但不能根据输入数字反转单词。不知道。

  • 问题内容: 我正在尝试使程序执行以下操作: 假设我们有一个被设置为的被叫。我想输出给用户,每个单词的第一个字符。我尝试使用该方法,但是没有成功。 我的代码: 我试图检测是否有空格,那么我可以简单地获取下一个索引。谁能告诉我我在做什么错? 问题答案: 尝试按(空格)分割,然后获取每个单词的(第一个字符)并按如下方式打印: