字符串中按规则插入空格

今天同事群有个同事在问

兄弟们, 对于任意长度的数字字符串,比如 123 123456
希望按照4位 4位空格展示,比如1234 56
除了手写substring截取,有别的更简单的方法么?

大家各有做法,如果是你,你会怎么做呢?

我想了想,这个用可变字符串操作,计算插入空格后的总长度,计算要插入的字符位置,就可以了,这样比较高效。再写成字符串的扩展,用起来就更加方便了。

上代码:

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
    }
}

进行测试验证:


image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容