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"
可能是一个非常基本的问题,我是 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"