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

Create a string with n blank spaces or other repeated character

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

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

我想我们可以玩玩 stringbyPaddingToLength

像这样的东西应该可以工作:

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

String 已经有一个 repeating:count: initializer just like Array (and other collections that adopt the RangeReplaceableIndexable 协议):

init(repeating repeatedValue: String, count: Int)

所以你可以打电话:

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

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

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

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

在Swift 3:

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

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

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