带有字符串子字符串的SwiftUI 5.5初始化数组? [关闭]

Posted

技术标签:

【中文标题】带有字符串子字符串的SwiftUI 5.5初始化数组? [关闭]【英文标题】:SwiftUI 5.5 Init array with substring of string? [closed] 【发布时间】:2022-01-05 04:02:26 【问题描述】:

我已经为我的视图编写了示例数据,它看起来/有效,但现在我想用实际数据替换我的示例数据。我已经成功传递了两个字符串。我正在尝试对其进行子串化,并将 NamedWeek 数组的 wDD 和 wRead 元素替换为实际数据。有人可以帮我怎么做吗?

我传入的字符串如下所示: 对于 wDD -

let string1 =  "21|22|23|24|25|26|27"

对于 wRead -

let string2 = "Dan 9|Rev 14|Eze 38|Matt 24|Joel 2|Gen 3|Jer 18"
struct NamedWeek: Identifiable 
   let wDay: String
   var wDD: String
   var wRead: String
   var id: String  wDay 


  var namedWeeks: [NamedWeek] = [
   NamedWeek(wDay: "Sun", wDD: "15", wRead: "Leviticus 26"),
   NamedWeek(wDay: "Mon", wDD: "16", wRead: "Psalm 45"),
   NamedWeek(wDay: "Tue", wDD: "17", wRead: "Test 3"),
   NamedWeek(wDay: "Wed", wDD: "18", wRead: "Test 4"),
   NamedWeek(wDay: "The", wDD: "19", wRead: "Test 5"),
   NamedWeek(wDay: "Fri", wDD: "20", wRead: "Test 6"),
   NamedWeek(wDay: "Sat", wDD: "21", wRead: "Test 7")
     
 ]

我正在尝试做类似的事情

var token = string1.components(separatedBy: "|") 

然后将 wDD 替换为 token[0] 然后 token[1] 或者我是否可以插入一个 func(不知道这是否可能) 谢谢

【问题讨论】:

欢迎来到 SO - 请使用 tour 并阅读 How to Ask 以改进、编辑和格式化您的问题。如果没有Minimal Reproducible Example,就无法帮助您进行故障排除。 注意var id: String 后面的错误代码和下面的变量,那应该是什么?请修复它。并解释NamedWeek 是如何创建的。 您离开了 wDay ,您的示例中wRead 的值来自哪里? 现在 wRead 已经加载了测试数据。我想要做的是用 string2 的实际子字符串替换它。 【参考方案1】:

您可以按| 字符拆分,将数组压缩在一起,然后将其附加到namedWeeks

代码:

let string1 =  "21|22|23|24|25|26|27"
let string2 = "Dan 9|Rev 14|Eze 38|Matt 24|Joel 2|Gen 3|Jer 18"

let zipped = zip(string1.split(separator: "|"), string2.split(separator: "|"))
let weekdays = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]

var namedWeeks = [NamedWeek]()
for (index, element) in zipped.enumerated() 
    namedWeeks.append(NamedWeek(wDay: weekdays[index], wDD: String(element.0), wRead: String(element.1)))


print(namedWeeks)

【讨论】:

谢谢!如果没有你的知识,我永远不会想到这一点 @abbey 太好了,只需将其标记为已接受,以便其他人将来也可以更轻松地找到它:)

以上是关于带有字符串子字符串的SwiftUI 5.5初始化数组? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何更改python字符串子字符串信息

SwiftUI 显示标签/文本中剩余的字符数

是否可以修改 LazyVGrid/LazyHGrid (SwiftUI 5.5) 中项目的位置?

c_cpp 最长的字符串子序列

使用 Python 的字符串子序列内核和 SVM

PB中取字符串子串的函数是啥