创建一个包含 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
我想使用 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