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

前端之家收集整理的这篇文章主要介绍了将大字符串拆分为子字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个巨大的字符串:

ABCDEFGHIJKLM…

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

>1
ABCDE
>2
BCDEF
>3
CDEFG

[…]

UPDATE

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

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

  1. ${string:position:length}

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

  1. stringZ=abcABC123ABCabc
  2. # 0123456789.....
  3. # 0-based indexing.
  4.  
  5. echo ${stringZ:0} # abcABC123ABCabc
  6. echo ${stringZ:1} # bcABC123ABCabc
  7. echo ${stringZ:7} # 23ABCabc
  8.  
  9. echo ${stringZ:0:5} # abcAB
  10. # Five characters of substring.

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

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

全部来自Bash string manipulation

猜你在找的Bash相关文章