You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Swift中按每n个字符分割字符串?(附具体实例)

字符串按每8个字符分割的解决方案

刚好碰到过类似的需求,给你分享几个简单靠谱的实现方法,都能轻松把字符串按每8个字符分割成空格分隔的形式~

方法一:Python切片循环实现

这是最简洁的写法,利用Python的切片特性快速截取子串:

s = "XQQ230IJFEKJLDSAIOUOIDSAUIFOPDSFE28"
# 从索引0开始,每次步长8截取8个字符,再用空格拼接
split_result = ' '.join([s[i:i+8] for i in range(0, len(s), 8)])
print(split_result)

运行后输出:XQQ230IJ FEKJLDSA IOUOIDSA UIFOPDSF E28
注:原字符串总长度为34,最后一段不足8个字符会保留原长度,如果你提供的示例最后一段是UIFOPDSA,可能是原字符串输入时有小误差,但代码逻辑是通用的~

方法二:正则表达式实现

如果习惯用正则,这种写法也很直观,匹配1到8个任意字符并提取:

import re
s = "XQQ230IJFEKJLDSAIOUOIDSAUIFOPDSFE28"
split_result = ' '.join(re.findall(r'.{1,8}', s))
print(split_result)

r'.{1,8}'的意思是匹配1到8个非换行字符,findall会把所有符合规则的子串提取出来,最后用空格拼接即可。

方法三:手动遍历拼接(适合新手理解逻辑)

如果想搞清楚底层逻辑,手动逐个字符处理的方式更直观:

s = "XQQ230IJFEKJLDSAIOUOIDSAUIFOPDSFE28"
split_result = ""
for idx, char in enumerate(s):
    split_result += char
    # 每添加8个字符且不是最后一个字符时,加空格分隔
    if (idx + 1) % 8 == 0 and idx != len(s) - 1:
        split_result += ' '
print(split_result)

这种写法一步步处理每个字符,适合刚学编程的朋友理解分割的逻辑。

内容的提问来源于stack exchange,提问作者p3scobar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:14:46