shell 字符串操做

1.從開頭(#)或結尾(%)打印不匹配的內容html

str=abc12342341spa

echo ${str#a*c}     #表示把以字符a開頭到c結束最短匹配這部分忽略掉打印:12342341htm

echo ${str##a*c}   ##表示把以字符a開頭到c結束最長匹配這部分忽略掉打印: 12342341blog

echo ${str##b*c}  --從開頭沒有匹配到所有打印:abc12342341get

echo ${str%3*1}  %結尾最短匹配string

 

2.匹配並替換class

  echo ${str/23/bb}  --將包含的23字符替換爲bb打印(匹配一次): abc1bb42341co

  echo ${str//23/bb}  --將包含的23字符替換爲bb打印(所有替換): abc1bb42341字符

  echo ${str/#23/xx} --將開頭的23字符替換爲xx打印(匹配一次): abc12342341ps

  echo ${str/%23/xx} --將結尾的23字符替換爲xx打印(匹配一次): abc12342341

 

3. expr 顯示匹配內容

     string=abc12342341

       expr match $string '\([a-c]*[0-9]*\)'  //abc12342341    從開頭匹配等同expr $string : '\([a-c]*[0-9]*\)'

       expr $string : '\([a-c]*[0-9]\)'       //abc1    

       expr $string : '.*\([0-9][0-9][0-9]\)' //341 顯示括號中匹配的內容  

       expr $string : 'a\(.*\)1'    //最長匹配a到1之間的字符:bc1234234

 

 

http://www.javashuo.com/article/p-rsjrvawn-m.html

相關文章
相關標籤/搜索