2015-10-07 2 views
-1

У меня есть слово, которое отображается на этикетке. Могу ли я запрограммировать его, где будут отображаться только последние 2 символа слова или только первые 3? Как я могу это сделать?Отображение определенного количества букв

+0

Ваш вопрос сбивает с толку, и ваше название отличается. Вы хотите показать последние две буквы этого слова? Или у вас есть строка со многими словами, и вы хотите показать только последние два слова? –

+0

У меня есть строка с одним словом. Я хочу показать последние несколько букв или первые несколько букв. – afafaf

ответ

2

API-интерфейсы строки Swift могут быть немного запутанными. Вы получаете доступ к символам строки через свое свойство characters, после чего вы можете использовать prefix() или suffix(), чтобы получить нужную подстроку. Это подмножество символов должно быть преобразовано обратно в String:

let str = "Hello, world!" 

// first three characters: 
let prefixSubstring = String(str.characters.prefix(3)) 

// last two characters: 
let suffixSubstring = String(str.characters.suffix(2)) 
0

Я согласен, это, безусловно, путая работу с Струнными индексациями в Swift, и они изменились немного от Swift 1 до 2 решений прибегая к помощи немного но на самом деле это может быть довольно просто, как только вы поймете методы. Вы в основном должны сделать это в два шага процесса:

1) Найти индекс вам нужно 2) Advance оттуда

Например:

let sampleString = "HelloWorld" 
let lastThreeindex = sampleString.endIndex.advancedBy(-3) 
sampleString.substringFromIndex(lastThreeindex) //prints rld 

let secondIndex = sampleString.startIndex.advancedBy(2) 
sampleString.substringToIndex(secondIndex) //prints He 
Смежные вопросы