vimdiff
函数String
将通过在末尾添加填充字符来填充字符串"填写"字符串到所需的长度。
是否有一个等效函数可以通过在开头添加填充字符来填充字符串?
例如,如果要在等宽字体输出字符串中对子字符串进行右对齐,这将非常有用。
我当然可以写一个,但我希望有一个内置函数,看看最后是如何填充功能。
答案 0 :(得分:2)
由于Swift字符串操作是对旧NSString类的重复,我认为Apple从不打扰完成功能集,只是给了我们免费的桥接作为神的法术力。
或者,由于Objective-C从不回避超级冗长但含糊不清的代码,他们希望我们两次使用原生函数:
props.data.*
[编辑] Objective-C除了咆哮之外,解决方案比这更精细,并且为String类型添加一些更有用的填充方法可能会使事情更容易使用和维护:
例如:
let a = "42"
"".padding(toLength:10, withPad:a.padding(toLength:10, withPad:"0", startingAt:0), startingAt:a.characters.count)
// 0000000042
答案 1 :(得分:0)
您可以通过反转字符串,在末尾填充,结束然后再次反转来实现此目的...
let string = "abc"
// Pad at end
string.padding(toLength: 7, withPad: "X", startingAt: 0)
// "abcXXXX"
// Pad at start
String(String(string.reversed()).padding(toLength: 7, withPad: "X", startingAt: 0).reversed())
// "XXXXabc"