2017-02-12 2 views
2

Функция Stringpadding(toLength:withPad:startingAt:) будет заполнять строки, добавляя в конце символы заполнения, чтобы «заполнить» строку до нужной длины.Есть ли встроенная функция Swift для ввода строк в начале?

Есть ли эквивалентная функция, которая будет заполнять строки путем добавления символов заполнения в начале?

Это было бы полезно, если вы хотите, например, правильно подстроить подстроку в моноширинной выходной строке.

Я мог бы, конечно, написать один, но я бы ожидал, что там будет встроенная функция, видя, как уже существует функция, которая прокладывает в конце.

+0

'пусть проложенный = String (повторяющий:«», посчитайте: toLength - str.characters.count) + str' – vacawama

+0

Как я уже сказал, я мог бы, конечно, написать такую ​​функцию. Удивительно, что встроенная функция не работает ни с одного конца, ни в том, что нет другой функции padAtBeginning. –

+0

Функция, о которой вы говорите, не является встроенной функцией Swift. Это происходит от Фонда. – vacawama

ответ

1

Поскольку Swift-манипуляции строк являются переделкой старого класса NSString, я полагаю, что Apple никогда не потрудилась завершить набор функций и просто дала нам бесплатный мост, как ману от богов.

Или, так как Objective-C никогда не уклонялся от супер многословного еще скрытого кода, они ожидают, что мы использовать родную функцию дважды:

let a = "42" 
"".padding(toLength:10, withPad:a.padding(toLength:10, withPad:"0", startingAt:0), startingAt:a.characters.count) 

// 0000000042 
Смежные вопросы