如何在Swift中的每个第n个字符处拆分字符串?
如问题所述,如果我有:如何在Swift中的每个第n个字符处拆分字符串?,swift,Swift,如问题所述,如果我有: XQQ230IJFEKJLDSAIOUOIDSAUIFOPDSFE28 如何在每8个字符处拆分此字符串以获得: XQQ230IJ FEKJLDSA IOUOIDSA UIFOPDSA 实现这个功能 extension String { func inserting(separator: String, every n: Int) -> String { var result: String = "" let charact
XQQ230IJFEKJLDSAIOUOIDSAUIFOPDSFE28
如何在每8个字符处拆分此字符串以获得:
XQQ230IJ FEKJLDSA IOUOIDSA UIFOPDSA
实现这个功能
extension String {
func inserting(separator: String, every n: Int) -> String {
var result: String = ""
let characters = Array(self.characters)
stride(from: 0, to: characters.count, by: n).forEach {
result += String(characters[$0..<min($0+n, characters.count)])
if $0+n < characters.count {
result += separator
}
}
return result
}
}
输出是这样的,
XQQ230IJ FEKJLDSA IOUOIDSA UIFOPDSF E28
如果你想添加任何字符而不是空格,这将是一个通用的解决方案。我不确定你为什么要将其标记为重复,因为我在这里获得的答案比你引用的帖子中的jibberish答案更好。您只是让堆栈溢出变得很烦人。不幸的是,Swift 5不再适用。以下是Swift 5版本:
扩展字符串{func插入(分隔符:String,every n:Int)->String{var result:String=”“let characters=Array(self)stride(从:0到:characters.count,by:n)。forEach{result+=字符串(字符[$0。。
XQQ230IJ FEKJLDSA IOUOIDSA UIFOPDSF E28