Bill L
Bill L

Reputation: 2826

Value of type 'String' has no member 'substringToIndex'

I'm not sure what I'm missing here, but all I'm trying to do is get a substring from a string. I'm messing around in a playground, and my code is only three lines long lines long, I declare a string, get an index, then try and get a substring from it, and I get this error. This is all I have for my code...

var name = "Stephen"
var index = name.startIndex.advancedBy(3)
var substring = name.substringToIndex(index)

Am I doing this wrong? I don't see any other ways to get a substring from a string.

In an unrelated question, if I want to grab a substring from a string between indices 2 and 5 how would I go about that in Swift 2?

Upvotes: 8

Views: 8268

Answers (3)

carmine
carmine

Reputation: 1655

For anyone who is searching for Swift 3 solution:

var name = "Stephen"
var index = name.index(name.startIndex, offsetBy:3)
var substring = name.substring(to:index)

Upvotes: 14

TomCobo
TomCobo

Reputation: 2916

about the unrelated question..

var name = "Stephen"
var substring = name.substringWithRange(Range<String.Index>(start: name.startIndex.advancedBy(3),end: name.startIndex.advancedBy(5)))

related answer link

Upvotes: 0

Luca Angeletti
Luca Angeletti

Reputation: 59506

Since substringToIndex is defined into the Foundation module, you need to add

import Foundation

enter image description here

enter image description here

Upvotes: 12

Related Questions