【发布时间】:2020-08-07 23:55:40
【问题描述】:
我有一个工作函数,可以用空格分隔每个 n 字符,效果很好。
这里是代码(Swift 5):
extension String {
/// Creates a new string, separating characters specified by stride lenght.
/// - Parameters:
/// - stride: Desired stride lenght.
/// - separator: Character to be placed in between separations
func separate(every stride: Int, with separator: Character) -> String {
return String(self.enumerated().map { $0 > 0 && $0 % stride == 0 ? [separator, $1] : [$1] }.joined())
}
}
这会像这样打印一个示例字符串 1234123412341234
1234 1234 1234 1234
现在,我如何将这个字符串 1234123412341234 与多个步长分开,例如在第 4 个字符之后设置空白,然后在第 6 个字符之后,然后在第 5 个字符之后设置,如下所示:
1234 123412 34123 4
【问题讨论】:
-
您需要多通用的解决方案?或者您只是在处理固定大小的字符串和组?
-
好吧,@Alexander-ReinstateMonica,我想有一个像我的代码示例中那样的函数,您可以在其中传递一个 [Int] 数组作为参数,这样您就可以有一个函数,其中您可以选择所需的步幅以及步幅的长度。我不希望只使用具有静态步幅的函数,例如 [4, 6, 5]
标签: swift string foundation