在 Swift 中将 UnicodeScalar 数组转换为字符串

2024-01-20

我有一个 unicode 标量数组(类型是[UnicodeScalar])

like:

let array = [UnicodeScalar("f")!, UnicodeScalar("o")!, UnicodeScalar("o")!]

or

let array2 = "bar".unicodeScalars

如何再次有效地将这些数组转换为字符串?

Expect:

let string1 = ?? // "foo"
let string2 = ?? // "bar"

第二种情况更简单,因为array2 is a UnicodeScalarView而不是数组:

let array2 = "bar".unicodeScalars

let str2 = String(array2)
print(str2) // bar

如果您有 Unicode 标量数组(或任何序列),则可以从空字符串开始 并将元素附加到其unicodeScalars view:

let array = [UnicodeScalar("f")!, UnicodeScalar("o")!, UnicodeScalar("o")!]
// Or: let array: [UnicodeScalar] = ["f", "o", "o"]

var str1 = ""
str1.unicodeScalars.append(contentsOf: array)
print(str1) // foo

当然,您可以为此目的定义自定义扩展:

extension String {
    init<S: Sequence>(unicodeScalars ucs: S)
        where S.Iterator.Element == UnicodeScalar
    {
        var s = ""
        s.unicodeScalars.append(contentsOf: ucs)
        self = s
    }
}

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

在 Swift 中将 UnicodeScalar 数组转换为字符串 的相关文章

  • 根据列中的部分字符串匹配选择数据框行

    我想根据列中字符串的部分匹配从数据框中选择行 例如列 x 包含字符串 hsa 使用sqldf if它有一个like语法 我会做类似的事情 select from lt gt where x like hsa 很遗憾 sqldf不支持该语法
  • Swift - UICollectionView 重复(重复)单元格

    你好 我有一个数组 其中包含从 flickr 获取的 100 张图片 url 当我使用 UICollectionView 时 我显示 100 个单元格 屏幕上只有 8 个单元格 当我向下滚动查看下一个 8 个单元格时 它们与前一个单元格相同
  • 如何扩展 Array 以获得泛型类型?

    我有一个链表类 声明如下 class LinkedNode
  • SwiftUI:为表单中的单元格添加动画

    我正在尝试动画化我的Form或者更确切地说是其中的细胞 我的问题是 下面的代码给了我一个很好的插入动画 但是对于删除 单元格在看起来很丑陋的延迟后突然被删除 import SwiftUI struct ContentView View St
  • Python 中的密码子生成

    我有这段代码 用于将 DNA 字符串转换为密码子列表 然后将此列表转换为具有各自氨基酸的字符串 然而 当我运行代码并且 DNA 字符串以一对核苷酸 例如 CT 而不是三联体结尾时 代码不会生成氨基酸序列 正如您在输出中看到的 from co
  • 为不带引号的函数获取字符串参数

    我有一个函数 用于从 URL 下载文件并将其写入磁盘 并施加特定的文件扩展名 目前 它看起来像这样 import requests import os def getpml url filename psc requests get url
  • String.GetHashCode() 返回不同的值

    为什么 GetHashCode 对同一字符串返回不同的值 我无法描述如何复制它 但相信这不是一个恶作剧 并且以下两行来自我的监视窗口在两个不同的时间 DDD Events Application ApplicationReferenceCr
  • 在 WidgetKit 中每分钟更新时间文本标签

    是否可以在小部件中创建显示当前时间并实时更新的文本标签 尝试创建时钟小部件 但小部件每 5 分钟仅更新 1 次 创建时间表没有帮助 使小部件保持最新 不适用于当前时间 仅适用于计时器等 一个可能的解决方案是使用time日期样式 A styl
  • CloudKit 和 Core 在设备之间同步数据

    我创建了一个简单的Notes应用程序基于Core data 现在我想在用户设备之间添加同步 以及我读过的所有文章 this https www raywenderlich com 134694 cloudkit tutorial getti
  • 如何跟踪 SwiftUI 应用程序中的所有触摸

    我正在尝试在 SwiftUI 应用程序中实现锁屏 我需要跟踪每个事件才能重新启动锁定计时器 在 UIKit 应用程序中 我使用了这种方法 重写 UIApplication 它允许了解应用程序中的任何事件 override func send
  • 使用 Swift 在 Sprite Kit 中构建棋盘游戏? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在使用 Swift 的 Sprite Kit 中 我试图构建一个国际象棋棋盘 实际上是一个类似国际象棋的棋盘 平铺网格 那么一般来说
  • unicode().decode('utf-8', 'ignore') 引发 UnicodeEncodeError

    这是代码 gt gt gt z u u2022 decode utf 8 ignore Traceback most recent call last File
  • “不能在集合中使用 in/contains 运算符”

    单击搜索栏时出现此错误 由于未捕获的异常 NSInvalidArgumentException 而终止应用程序 原因 无法在集合中使用 in contains 运算符 Assignment 4 SearchResult studentID
  • SpriteKit - 对多个 SKNode 上运行的多个 SKAction 进行排序

    我非常了解 SKAction API 但在多个节点上运行顺序代码时我无法获得良好的代码 这是示例代码 简化 import SpriteKit class GameScene SKScene weak var node1 SKNode wea
  • Swift UI 导出画布内容

    我有一个画布 用户可以在上面画东西 我想导出用户在画布上绘制的任何内容 并且我正在使用以下扩展从视图中获取图像 extension View func snapshot gt UIImage let controller UIHosting
  • .NET 正则表达式可匹配任何语言的任何类型的字母

    我可以使用哪种正则表达式来匹配 允许 任何语言的任何类型的字母 我需要匹配任何字母 包括任何变音符号 例如 并排除任何类型的符号 数学符号 货币符号 装饰符号 方框图字符等 和标点符号 我正在使用 ASP NET MVC 2 和 NET 4
  • Swift 1.2 可选外部变量?

    由于 Swift 无法访问编译变量 因此我创建了一个指向编译变量的 Objective C extern 变量 编译变量转换器 h extern NSString const NetworkApiBasicAuthUsername 编译变量
  • 如何将 SCNPlane 颜色更改为透明颜色

    我正在开发一个 ARKit 项目 在水平面上点击时需要波纹动画效果 为此 我采用了 UIView 对象并将其作为 SCNPlane 对象材料的内容传递 我已将波纹动画添加到 UIView 对象 一切正常 但我无法将 SCNPlane 颜色更
  • 在 C++ 代码中转换字符串

    我正在学习 C 并开发一个项目来练习 但现在我想在代码中转换一个变量 字符串 就像这样 用户有一个包含 C 代码的文件 但我希望我的程序读取该文件并插入将其写入代码中 如下所示 include
  • UNTimeIntervalNotificationTrigger nextTriggerDate() 是否给出了错误的日期?

    我正在更新本地通知以与 iOS 10 配合使用 但遇到了一个问题 我认为 nextTrigger 函数返回的不是 满足触发条件的下一个日期 而是返回当前日期时间加上您最初设置 UNTimeInvervalNotificationTrigge

随机推荐