我想得到這個字符串的第一年。破折號前-
:「2007-2016」如何在Swift中使用破折號前的第一個單詞?
如何在Swift 3中實現此目標?
我做了一些研究,並且有一個叫substring
或index
的函數,但不知道我應該用哪一個函數。
我想要實現的是一個排序函數,它會在一年中排序。所以我認爲最好的辦法是使用第一年(從年份開始)。還有一些物品只包含一年...
我想得到這個字符串的第一年。破折號前-
:「2007-2016」如何在Swift中使用破折號前的第一個單詞?
如何在Swift 3中實現此目標?
我做了一些研究,並且有一個叫substring
或index
的函數,但不知道我應該用哪一個函數。
我想要實現的是一個排序函數,它會在一年中排序。所以我認爲最好的辦法是使用第一年(從年份開始)。還有一些物品只包含一年...
使用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)
}
兩個(其他)解決方案:
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
}
如果字符串中沒有劃線的結果是整個字符串。
破折號後面的值是否也可以得到? – Caspert
是的,我已經更新了我的答案(並且將「index」變量名稱更改爲「idx」,以避免將它與用於提取「year2」的字符串'index'混淆)。 – Moritz