创建一个包含n个空格或其他重复字符的字符串

时间:2015-01-06 20:29:38

标签: ios string swift

我想使用Swift创建一个带有 n 空格的字符串,但不使用for循环或手动这样:

// string with 5-blank space
var s = "      "

4 个答案:

答案 0 :(得分:40)

String已经有repeating:count: initializer,就像Array(和其他采用RangeReplaceableIndexable协议的集合一样):

init(repeating repeatedValue: String, count: Int)

所以你可以打电话:

let spaces = String(repeating: " ", count: 5) // -> "     "

请注意,重复参数是一个字符串,而不仅仅是一个字符,因此您可以根据需要重复整个序列:

let wave = String(repeating: "-=", count: 5) // -> "-=-=-=-=-="

编辑:更改为Swift 3语法并删除了对Swift 1类型模糊问题的讨论。如果您需要使用旧版本,请参阅编辑历史记录。

答案 1 :(得分:7)

在Swift 3中:

var s = String(repeating: " ", count: 5)

https://developer.apple.com/reference/swift/string/2427723-init

答案 2 :(得分:2)

我认为我们可以使用stringbyPaddingToLength

这样的事情应该有效:

var str = " ";
var str2 = str.stringByPaddingToLength(20, withString: " ", startingAtIndex: 0);

答案 3 :(得分:0)

2020年| SWIFT 3.0-5.1:

我喜欢c#的语法来执行此操作。所以我写了一个扩展名:

static func * (str: String, repeatTimes: Int) -> String {
    return String(repeating: str, count: repeatTimes)
}

现在您可以通过以下方式执行此操作:

let tenSpaces = " " * 10
let ab15Times = "ab" * 15