℡Wang Yan 2014-09-05 03:51 采纳率: 100%
浏览 675
已采纳

把一个字符串分割成一个数组

Say I have a string here:

var fullName: String = "First Last"

I want to split the string base on white space and assign the values to their respective variables

var fullNameArr = // something like: fullName.explode(" ") 

var firstName: String = fullNameArr[0]
var lastName: String? = fullnameArr[1]

Also, sometimes users might not have a last name.

转载于:https://stackoverflow.com/questions/25678373/swift-split-a-string-into-an-array

  • 写回答

26条回答 默认 最新

  • 叼花硬汉 2014-10-09 05:06
    关注

    The Swift way is to use the global split function, like so:

    var fullName = "First Last"
    var fullNameArr = split(fullName) {$0 == " "}
    var firstName: String = fullNameArr[0]
    var lastName: String? = fullNameArr.count > 1 ? fullNameArr[1] : nil
    

    with Swift 2

    In Swift 2 the use of split becomes a bit more complicated due to the introduction of the internal CharacterView type. This means that String no longer adopts the SequenceType or CollectionType protocols and you must instead use the .characters property to access a CharacterView type representation of a String instance. (Note: CharacterView does adopt SequenceType and CollectionType protocols).

    let fullName = "First Last"
    let fullNameArr = fullName.characters.split{$0 == " "}.map(String.init)
    // or simply:
    // let fullNameArr = fullName.characters.split{" "}.map(String.init)
    
    fullNameArr[0] // First
    fullNameArr[1] // Last 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(25条)

报告相同问题?

悬赏问题

  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥30 求解达问题(有红包)
  • ¥15 请解包一个pak文件