shell 使用指定的分割符来分割字符串的方法

    shell 如何用指定的分隔符来分割字符串让结果为一个字符串数组,类似 java 中的 split, 而 split 关键字已经留给文件分割了,故字符串就分割处理就不能在使用了,那如何来处理字符串串分割呢?方法有两种

    一、对于不包含空格的字符串,使用下面方法

    方法一

    
    #!/bin/bash
    string="hello,shell,haha" 
    array=(${string//,/ }) 
    for var in ${array[@]}
    do
      echo $var
    done 

    方法二

    
    #!/bin/bash
    string="hello,shell,haha"
    OLD_IFS="$IFS"
    IFS=","
    array=($string)
    IFS="$OLD_IFS"
    for var in ${array[@]}
    do
      echo $var
    done
    

    方法三:利用tr 指令实现字符替换

    
    #!/bin/bash
    string="one,two,three,four,five"
    array=(`echo $string | tr ',' ' '` ) 
     
    for var in ${array[@]}
    do
      echo $var
    done
    
    

    二、对于包含空格的字符串,使用下面方法

    
    #!/bin/bash
    str='this is a good question, hello shell, look at me, show your enthusiasm'
    i=1
    while((1==1))
    do
      splitchar=`echo $str|cut -d "," -f$i`
      if [ "$splitchar" != "" ]
      then
          ((i++))
          echo $splitchar
      else
          break
      fi
    done
    

    到此这篇关于shell 使用指定的分割符来分割字符串的方法的文章就介绍到这了,更多相关shell 分割字符串内容请搜索lingkb以前的文章或继续浏览下面的相关文章希望大家以后多多支持lingkb!