我想用Swift生成一个有 n 个空格的字符串,但不使用for循环或手动,如下所示:
for
// string with 5-blank space var s = " "
zqdjd7g91#
String已经有一个repeating:count: initializer,就像Array一样(以及其他采用RangeReplaceableIndexable协议的集合):
String
repeating:count:
Array
RangeReplaceableIndexable
init(repeating repeatedValue: String, count: Int)
所以你可以打电话:
let spaces = String(repeating: " ", count: 5) // -> " "
请注意,repeated参数是一个字符串,而不仅仅是一个字符,因此如果需要,可以重复整个序列:
let wave = String(repeating: "-=", count: 5) // -> "-=-=-=-=-="
noj0wjuj2#
在Swift 3中:
var s = String(repeating: " ", count: 5)
https://developer.apple.com/reference/swift/string/2427723-init
ryevplcw3#
我想我们可以通过填充长度来处理字符串应该可以这样做:
var str = " "; var str2 = str.stringByPaddingToLength(20, withString: " ", startingAtIndex: 0);
nnsrf1az4#
二○二二年|SWIFT 3.0 - 5.1版本:
我写了一个扩展:
static func * (str: String, repeatTimes: Int) -> String { return String(repeating: str, count: repeatTimes) }
现在你可以通过下面的方法来实现
let tenSpaces = " " * 10 let ab15Times = "ab" * 15
4条答案
按热度按时间zqdjd7g91#
String
已经有一个repeating:count:
initializer,就像Array
一样(以及其他采用RangeReplaceableIndexable
协议的集合):所以你可以打电话:
请注意,repeated参数是一个字符串,而不仅仅是一个字符,因此如果需要,可以重复整个序列:
noj0wjuj2#
在Swift 3中:
https://developer.apple.com/reference/swift/string/2427723-init
ryevplcw3#
我想我们可以通过填充长度来处理字符串
应该可以这样做:
nnsrf1az4#
二○二二年|SWIFT 3.0 - 5.1版本:
我写了一个扩展:
现在你可以通过下面的方法来实现