Swift 子字符串

Swift Sub Strings

可能是一个非常基本的问题,我是 swift 的新手..

我想从这个字符串中提取小时数:

Saturday, 11 July 2015 22:00

所以这种情况下的输出将是

22

我假设是因为从头开始的字符数不同,我必须向后工作吗?

非常感谢任何帮助!

您可以使用按字符串分隔的组件方法:

var str = "Saturday, 11 July 2015 22:00"
var arr = str.componentsSeparatedByString(" ").last!.componentsSeparatedByString(":")
var hour = arr.first!

在本例中它可以工作,但如果您更改日期格式,它可能会失败。 更可靠的选择是从字符串创建 NSDate 对象并获取小时组件。

你可以做的是使用 SubstringWithRange。它使用开始索引和结束索引。在这种情况下,您可以更改其中的两个索引以执行您想要的操作。

var str = "Saturday,11 July 2015 22:00"
str.substringWithRange(Range<String.Index>(start: advance(str.startIndex, 19), end: advance(str.endIndex, -3))) //"22"