如何在Swift中获得破折号之前的第一个单词?

时间:2016-11-24 16:33:35

标签: swift string

我想获得这个字符串的第一年。短跑之前-:“2007-2016”

如何在Swift 3中实现这一目标?

我做了一些研究,有一个名为substringindex的函数,但不知道应该使用哪个函数。

我想要实现的是一种排序函数,它将按年排序。所以我认为最好的方法是使用第一年(从年份开始)。还有一些对象只包含一年...

2 个答案:

答案 0 :(得分:2)

使用index(of:)substring(to:)

根据你的评论,我还添加了一个例子来获得第二年。

let str = "2007-2016"

if let idx = str.characters.index(of: "-") {
    let year1 = str.substring(to: idx)
    print(year1)
    let year2 = str.substring(from: str.index(after: idx))
    print(year2)
}

答案 1 :(得分:0)

两个(其他)解决方案:

let string = "2007-2016"

let year1 = string.components(separatedBy: "-").first!

let year2 : String
if let range = string.range(of: "-") {
    year2 = string.substring(to: range.lowerBound)
} else {
    year2 = string
}

如果字符串中没有破折号,则结果是整个字符串。