加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

将大字符串拆分为子字符串

发布时间:2020-12-15 18:26:25 所属栏目:安全 来源:网络整理
导读:我有一个巨大的字符串: ABCDEFGHIJKLM… 我想以这种方式将它分成长度为5的子串: 1 ABCDE 2 BCDEF 3 CDEFG […] UPDATE 解: 好的,多亏你们,我能找到快速做到这一点的方法!这是我的解决方案,结合了这里的一些想法: str=”ABCDEFGHIJKLMNOP” splitfive(){
我有一个巨大的字符串:

ABCDEFGHIJKLM…

我想以这种方式将它分成长度为5的子串:

>1
ABCDE
>2
BCDEF
>3
CDEFG

[…]

UPDATE

解:
好的,多亏你们,我能找到快速做到这一点的方法!这是我的解决方案,结合了这里的一些想法:

str=”ABCDEFGHIJKLMNOP”
splitfive(){ echo $1 | cut -c $2- |sed -r ‘s/(.{5})/1n/g’ ; }
for (( i=0 ; i <= 5 ; i++ )) ; do splitfive “$str” $i ; done | grep -v “^$”

${string:position:length}

从$position的$string中提取子字符串的$length字符.

stringZ=abcABC123ABCabc
#       0123456789.....
#       0-based indexing.

echo ${stringZ:0}                            # abcABC123ABCabc
echo ${stringZ:1}                            # bcABC123ABCabc
echo ${stringZ:7}                            # 23ABCabc

echo ${stringZ:0:5}                          # abcAB
                                             # Five characters of substring.

然后使用循环遍历并向该位置添加1以提取长度为5的每个子字符串.

for i in seq 0 ${#stringZ}; do
    echo ${stringZ:$i:5}
done

全部来自Bash string manipulation

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读