I have not yet been able to figure out how to get a substring of a String
in Swift:
var str = “Hello, playground”
func test(str: String) -> String {
return str.substringWithRange( /* What goes here? */ )
}
test (str)
I’m not able to create a Range in Swift. Autocomplete in the Playground isn’t super helpful – this is what it suggests:
return str.substringWithRange(aRange: Range<String.Index>)
I haven’t found anything in the Swift Standard Reference Library that helps. Here was another wild guess:
return str.substringWithRange(Range(0, 1))
And this:
let r:Range<String.Index> = Range<String.Index>(start: 0, end: 2)
return str.substringWithRange(r)
I’ve seen other answers (Finding index of character in Swift String) that seem to suggest that since String
is a bridge type for NSString
, the “old” methods should work, but it’s not clear how – e.g., this doesn’t work either (doesn’t appear to be valid syntax):
let x = str.substringWithRange(NSMakeRange(0, 3))
Thoughts?