今天同事群有個(gè)同事在問
兄弟們, 對(duì)于任意長(zhǎng)度的數(shù)字字符串,比如 123 123456
希望按照4位 4位空格展示,比如1234 56
除了手寫substring截取,有別的更簡(jiǎn)單的方法么?
大家各有做法,如果是你矿筝,你會(huì)怎么做呢苹祟?
我想了想曾掂,這個(gè)用可變字符串操作帜讲,計(jì)算插入空格后的總長(zhǎng)度,計(jì)算要插入的字符位置染服,就可以了懒浮,這樣比較高效。再寫成字符串的擴(kuò)展榄笙,用起來就更加方便了邪狞。
上代碼:
extension String {
func split(by character:Character ,spaceCount:Int) -> String {
if self.count <= spaceCount {
return self
}
let spacecount = self.count % spaceCount == 0 ? count/spaceCount - 1 : count / spaceCount
var str = self;
for i in 1...spacecount {
let positon = i * spaceCount + (i-1);
str.insert(character, at: str.index(str.startIndex, offsetBy: positon))
}
return str
}
}
進(jìn)行測(cè)試驗(yàn)證: