VBA中如何将数组转为字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VBA中如何将数组转为字符串相关的知识,希望对你有一定的参考价值。
现有一数组名为pointnumber(),如何将其转换为字符串?
sr=Join(pointnumber, "这里是分隔符自己换")然后pointnumber 必须是1维数组 参考技术A Join(pointnumber, "")
Join返回的就是字符串 参考技术B 字符串数组的定义:
Dim arr(1 to 3) as string
如此定义,但是不能直接给数组赋值转换
如果想直接给数组直接赋值转换,需要如下操作:
Dim arr() as Variant
arr=Array("a","b","c")
因为Array函数的赋值对象一定是一维数组,其类型为Variant,并且一定未指定数组大小。
将文本字段转为字符串数组
【中文标题】将文本字段转为字符串数组【英文标题】:Segue textfields to a string array 【发布时间】:2016-07-19 14:22:02 【问题描述】:我正在使用 swift 做一个应用程序,它获取 6 个文本字段中的条目并通过 segue 将它们传递到第二个视图控制器上的空字符串数组中。我怎么做?
这是我的代码,是基础知识,但我不确定如何发送信息。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
let destination = segue.destinationViewController as! secondView
if segue.identifier == segueID
destination.stringArray = ?
我的第二个视图控制器上的数组是这样的:
var stringArray = [String]()
【问题讨论】:
【参考方案1】:最短路径:
destination.stringArray = view.subviews.flatMap ($0 as? UITextField)?.text
【讨论】:
提问者不一定说要使用视图中的所有文本字段。这也不考虑视图层次结构中超过 1 级的文本字段(即包含在子视图中)。 当然需要重写,以防有更多的层次结构。这是一个很好的观点 :) 我的答案是展示如何在所有文本字段都是一个根视图的子视图时快速实现它。 事实上,这个工作就像一个魅力。抱歉,我的问题不是很具体。需要使用所有文本字段,否则将显示警报以防止发生转场。非常感谢这个。简单而直接。 :) @VeronicaG 可能您已经知道这一点,但请注意,对于空文本字段,使用上述解决方案将不包含任何条目(因此对于所有文本字段为空的情况,stringArray
将为空数组)。
@dfri 没关系,我使用了 UIAlert 来防止用户将文本字段留空。【参考方案2】:
您的 6 个文本字段是在 IBOutletCollection
(换句话说,一个文本字段数组)中还是它们各自是自己的 IBOutlet
(文本字段)?无论哪种方式,您的问题都归结为将它们的所有文本值放入一个数组中,如果它们位于 IBOutletCollection
中,则可以这样做:
destination.stringArray = myTextFieldCollection.flatMap $0.text
或者,如果它们不在数组中:
destination.stringArray = [myTextField1, myTextField2, ...,
myTextField6].flatMap $0.text
我在这些中使用flatMap
,因为UITextField.text
是可选的String?
,因此需要将它们解包到String
,flatMap
可以安全地这样做。
【讨论】:
请注意,后者将不起作用,因为目标中的stringArray
不允许可选的String
条目。
很好,已修复。以上是关于VBA中如何将数组转为字符串的主要内容,如果未能解决你的问题,请参考以下文章
excel vba 数组中第1位字符为0,赋给单元格时如何将0保留?