Ainda não consegui descobrir como obter uma substring de a String
no Swift:
var str = “Hello, playground”
func test(str: String) -> String {
return str.substringWithRange( /* What goes here? */ )
}
test (str)
Não consigo criar um intervalo no Swift. O preenchimento automático no Playground não é muito útil - é o que sugere:
return str.substringWithRange(aRange: Range<String.Index>)
Não encontrei nada na Swift Standard Reference Library que ajude. Aqui estava outro palpite:
return str.substringWithRange(Range(0, 1))
E isto:
let r:Range<String.Index> = Range<String.Index>(start: 0, end: 2)
return str.substringWithRange(r)
Eu já vi outras respostas ( Encontrar índice de caracteres no Swift String ) que parecem sugerir que, como String
é um tipo de ponte NSString
, os métodos "antigos" devem funcionar, mas não está claro como - por exemplo, isso também não funciona ( parece não ser uma sintaxe válida):
let x = str.substringWithRange(NSMakeRange(0, 3))
Pensamentos?