2017-02-12 77 views
2

String函數padding(toLength:withPad:startingAt:)將通過在末尾添加填充字符來填充字符串,以便將字符串「填充」到所需的長度。是否有內置的Swift函數可以在開頭填充字符串?

是否有一個等同的函數可以通過在開頭預先填充填充字符來填充字符串?例如,如果要在等寬輸出字符串中右對齊子字符串,這將很有用。

我當然可以寫一個,但我會希望有一個內置函數,看看最後如何有一個函數。

+0

'讓棉服=字符串(重複:「」數:toLength - str.characters.count)+ str' – vacawama

+0

就像我說過的,我當然可以寫這樣的功能。令人驚訝的是,內置函數不能從任何一端工作,或者沒有另一個padAtBeginning函數。 –

+0

您提到的函數不是內置的Swift函數。來自基金會。 – vacawama

回答

1

由於Swift字符串操作是舊的NSString類的重新組合,我想蘋果公司從來沒有打算完成功能集,並且只給了我們免費橋接作爲神的法力。

或者,由於Objective-C中從來沒有迴避超級冗長又神祕的代碼了,他們希望我們能夠使用本地函數兩次:

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

// 0000000042 
相關問題