在Swift中如何分离字符串

5
var password : string = "F36fjueEA5lo903"

我需要逐个字符分离这些字符。
类似于这样的效果。
请注意,保留了HTML标签。
var 1character : string = "F"
var 2character : string = "3"
var 3character : string = "6"

我是一名新手


虽然您可以将字符串转换为字符数组,但值得问一下“您想做什么?”通常,使用map、find、slicing等迭代字符串可以让您获得所需的结果,而无需进行转换。 - Airspeed Velocity
比较 https://dev59.com/XF8e5IYBdhLWcg3wRIpQ - Martin R
2个回答

6

您可以使用以下方法完成:

let characters = Array(password)

通过这个方法,你可以将字符串转换为字符数组,如果需要的话,你可以将其赋值给其他变量。


1

虽然你可以像Jacobson在他的答案中展示的那样做(完全没问题),但你不应该手动保存字母到自己的变量中。因为你经常不知道密码的长度。所以你可以迭代你的字符:

for letter in yourString{
    //do something with the current letter
    var yourCurrentLetter = letter
    println(yourCurrentLetter)//a then s, d, f etc.
}

好,是的,我说你可以把它赋值给其他变量,纯粹是因为不知道他想用它做什么。;p - Eendje
@JacobsonTalom 您的回答非常好。(+1 分来自我)但是,大多数情况下,如果问题的发起人是初学者,他们可能不知道可以让事情变得更简单的可能性。 - Christian
没错,我本来想加一些map的例子,但我认为你用for-loop的例子更容易理解。另一方面,我认为数组是初学者最早学习的基本知识之一,所以我向他展示了如何制作一个数组 :) (谢谢) - Eendje
如果你想要在字符串上使用 for...in 循环,无需先将其转换为数组,因为字符串也符合 SequenceType - Airspeed Velocity
@AirspeedVelocity 不知道这个。谢谢。已修复。 - Christian
np- 我同意你的观点,即提问者可能并不真正需要“第三个字符”,而是需要实现其他目标,使用 for...inmapfind 等方法可能会解决问题。 - Airspeed Velocity

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接