Swift 3:将字符串转换为数组

2024-03-22

我在 SWIFT 3 上的应用程序上,我在屏幕上显示一个句子并记录用户的声音以查看是否匹配。

我想提取句子中的每个单词来单独比较每个单词。

我使用代码:

let StringToLearn = word?.text
let StringToLearnArr = StringToLearn?.characters.split{$0 == " "}.map(String.init)
print("StringToLearn: \(StringToLearn)")
print("StringToLearnArr: \(StringToLearnArr)")


print("StringRecorded: \(StringRecorded)")
let StringRecordedArr = StringRecorded.characters.split(whereSeparator: {$0 == " "})
print("StringRecordedArr: \(StringRecordedArr)")

信息:让 StringRecorded 等于(Siri 语音 API):

(result?.bestTranscription.formattedString)!

控制台给我:

StringToLearn: Optional("My name is Florian")
StringToLearnArr: Optional(["My", "name", "is", "Florian"])
StringRecorded: My name is
StringRecordedArr: [Swift.String.CharacterView(_core: Swift._StringCore(_baseAddress: Optional(0x0000000174030d11), _countAndFlags: 4611686018427387906, _owner: Optional(My name is))), Swift.String.CharacterView(_core: Swift._StringCore(_baseAddress: Optional(0x0000000174030d14), _countAndFlags: 4611686018427387908, _owner: Optional(My name is))), Swift.String.CharacterView(_core: Swift._StringCore(_baseAddress: Optional(0x0000000174030d19), _countAndFlags: 4611686018427387906, _owner: Optional(My name is)))]

如何让 StringRecordedArr 获得相同的结果来比较两个数组的每个项目?

非常感谢。


您可以使用简单的方法,而不是分割字符视图components(separatedBy:) API.

这是一个看起来更好并且更有效的示例:

if let toLearn = word?.text, 
   let recorded = result?.bestTranscription.formattedString  {

    let wordsToLearn = toLearn.components(separatedBy: " ")

    let recordedWords = recorded.components(separatedBy: " ")
}

Note: 非可选比强制展开和可选更好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift 3:将字符串转换为数组 的相关文章

随机推荐

  • Gmail HTML 电子邮件背景

    我正在处理 HTML 电子邮件 我遇到的问题是 GMAIL 不使用我给它的 背景位置 我有一个 100 宽度的表格 其背景必须居中 大多数客户端都能完美地做到这一点 但 Gmail 却做不到 有解决方法吗 内联CSS是这样的 我已经将所有背
  • 在任何地方使用 eks 创建集群时出错

    我正在尝试在任何地方使用 eks 在 centos7 机器上创建本地集群 但是我遇到了以下错误 如果我遗漏了什么 请告诉我 这是我用来创建集群的链接 我还附上了集群创建 yaml 文件 Link https aws amazon com b
  • jquery .load 使用 python 烧瓶

    我试图在我的 Flask 应用程序中使用 jquery load 来在每次用户按下按钮添加新的 div 时添加一个 div 但它找不到 html 文件 有问题的函数 document ready function add click fun
  • 什么是全局::?

    在 C 中我看到global 在自动生成的代码中经常使用 这不是我自己用过的东西 所以我不知道它的目的是什么 有人可以解释一下吗 global 指的是全局命名空间 它可以用来解决重新定义类型的问题 例如 class foo class Sy
  • XMLHttpRequest() 与 ActiveXObject("Microsoft.XMLHTTP") - 有什么意义?

    Microsoft 最终在 Internet Explorer 7 中添加了本机 XMLHttpRequest 对象 但我发现它可以在 Internet 选项 对话框中禁用 那么使用 XMLHttpRequest 与 ActiveXObje
  • 使用 gcov 进行交叉分析,但忽略 GCOV_PREFIX 和 GCOV_PREFIX_STRIP

    我想使用 GCOV 进行代码覆盖 但测试将在另一台机器上运行 因此可执行文件中 gcda 文件的硬连线路径将不起作用 为了更改此默认目录 我可以使用 GCOV PREFIX 和 GCOV PREFIX STRIP 环境变量 如上所述here
  • 将 Twitter Bootstrap 添加到 CodeIgniter?

    我使用 CodeIgniter 开发了网站 该网站使用 MySQL 来填充结果页面 我现在想改进所有页面的外观 大多数地方都推荐使用 Bootstrap 我尝试将 Bootstrap 添加到我的 CodeIgniter 项目中 但没有成功
  • Qt:QProcess调用终端+脚本

    我在使用 QProcess 时遇到了真正的麻烦 我已经查看了几个使用它的位置 但每次使用它时我的程序都会冻结 或者它只是不执行我想要它执行的操作 我想从 GUI 应用程序执行以下操作 将目录更改为 Users Tim etc 等 从那里我需
  • 创建一个简单的 VUE.JS 应用程序

    我正在尝试按照以下步骤在应用程序中使用 Vue 中的简单多边形裁剪器article https morioh com p 06b7fc24c8b5 我使用以下方法创建了我的应用程序 vue init webpack myproject 现在
  • 如何在包含 Rust 特征的泛型类型上实现 deref?

    如果能够使用 Deref 从通用容器生成 TraitType 而不是调用 instance as ref 会相当方便 IE my container do thing vs my container as ref do thing 为此 我
  • 防止复制使用 dompdf 创建的 pdf 中的内容

    有没有办法阻止接收者在dompdf中选择和复制pdf文件的内容 像其他打开它时看起来像图片的pdf文件一样 所有字母和图像都无法选择 您可以使用底层 CPDF 引擎来指定用户可以对文档执行哪些操作 根据 CPDF 文档 调用 setEncr
  • 获取设备令牌时发件人 ID 无效

    我正在我的 Android 应用程序中进行 Firebase 云消息传递设置 我不是第一次做 我已经做过很多次了 但这一次 我在尝试获取设备令牌时遇到了一个奇怪的错误 无效的发件人 ID 除了默认情况下存在于 google services
  • 如何使用Java打开和关闭虚拟键盘

    我尝试了这里的所有答案 在Java程序中打开Windows虚拟键盘 https stackoverflow com questions 4948420 open the windows virtual keyboard in a java
  • 抽象类中受保护的抽象或公共抽象方法

    嗨 我有一个抽象类 其中有一些公共方法和一些抽象方法 我有公众 以便他们实现派生类的通用方法 让我困惑的是为什么我想要定义一个公共抽象方法而不是受保护的抽象方法 对我来说 在抽象类中定义公共抽象方法是没有意义的 因为 if 是一个抽象 在派
  • Laravel 5,连接子句中的派生表?

    我有这样的疑问 SELECT FROM blog LEFT JOIN SELECT blog id AVG value as blog rating FROM blog ratings GROUP BY blog id T ON T blo
  • 绘制的 envfit 向量与 NMDS 分数不匹配

    我制作了一个 NMDS 图并绘制了我的环境 如下所示 mytable 的数据框 sites c Site A Site B Site C Site D Site E Site F Site G Site H Site I Site J Si
  • heroku无法安装zbar

    我有一个 Django 应用程序 它使用 zbar 进行条形码识别 它在我的开发人员机器上运行良好 但当我尝试将其部署到 Heroku 时 我的提交被拒绝 并显示以下消息 Installing collected packages zbar
  • 调用 FileWriter 的单元测试方法

    我正在尝试为调用 FileWriter 的方法编写单元测试 我正在使用 JUnit 4 8 Powermock 和 Mockito 我正在测试的方法看起来像这样 public void methodToTest String fileNam
  • 在 pandas 中,按 DatetimeIndex 中的日期进行分组

    考虑以下综合示例 import pandas as pd import numpy as np np random seed 42 ix pd date range 2017 01 01 2017 01 15 freq 1H df pd D
  • Swift 3:将字符串转换为数组

    我在 SWIFT 3 上的应用程序上 我在屏幕上显示一个句子并记录用户的声音以查看是否匹配 我想提取句子中的每个单词来单独比较每个单词 我使用代码 let StringToLearn word text let StringToLearnA