壳牌字符串处理

  

<强>字符串切片操作

  

壳字符串切片操作与数据组元素字符切片操作基本相同,在shell中处理字符串要注意以下几点:

  
 <代码> 1。壳中的字符串处理操作与Python的处理机制很相似,Python中的切片操作支持步长切片和逆序显示。
  2.  汉字占一个字符
  2.  字符串切片操作同样基于索引机制
  3.索引编号:从左到右元素字符串起始偏移量编号为0;从右到从元素字符串起始偏移量编号为1
  4.  查询字符串长度$ {# var}  
  

<>强切片语法: $ {var:抵消}$ {var:抵消:号码}
同样先解释一下抵消,参数量数
<>强劲抵消:指定截取字符串的起始位置偏移量
<强>数量:指定截取元素字符串的长度或结束位置

  
 <代码> 1。抵消:正数时代表从左向右截取,为负数时代表从右向左截取。
  2.  号码:为正数时代表截取长度,为负数则代表结束位置,当数量为代表结束位置时截取内容不包括第m位 
  

<>强基于模式截取子字符串
<强> #自左向右

  
      <李> $ {var # 词}:#号自左向右,查找var变量所存储的字符串中,将第一次出现的匹配的词字符串删除。*可以理解为匹配任意长度任意字符   <李> $ {var # #字*}:# #开启贪婪模式,自左向右依次匹配,将并所有匹配的字符串都删除,留下未匹配的部分。   
  

<强> %自右向左

  
      <李> $ {var %词}: %号自右向左,查找var变量所存储的字符串中,将第一次出现的匹配词的字符串删除。*可以理解为匹配任意长度任意字符   <李> $ {var % %词}:% %开启贪婪模式,自右向左依次匹配,将并所有匹配的字符串都删除,留下未匹配的部分。   
  

<>强基于模式匹配查找替换字符

  
 <代码> 1。$ {var/模式/substr}基于模式自左而右匹配变量中存储的字符串,并将第1个匹配到的字符串替换为字符串的子串。
  2. $ {var//模式/substr}基于模式自左而右匹配变量中存储的字符串,并替换所有匹配到的字符串为字符串的子串
  3.$ {var/#模式/substr}将行首匹配到的字符串替换为字符串的子串
  4. $ {var/%模式/substr}将行尾匹配到的字符串替换为substr  
  

<>强基于模式匹配删除子字符串

  
 <代码> 1。$ {var/模式}:删除var表示的字符串中第一次被模式匹配到的字符串
  2.  $ {var//模式}:删除var表示的字符串中所有被模式匹配到的字符串
  3.$ {var/#模式}:删除var表示的字符串中所有以模式为行首匹配到的字符串
  4.  $ {var/%模式}:删除var所表示的字符串中所有以模式为行尾所匹配到的字符串代码 
  

<强>字符大小写转换

  
      <李> $ {var ^ ^}:把var中的所有小写字母转换为大写李   <李> $ {var,}:把var中的所有大写字母转换为小写李   
  

<强>重点记忆

  
      <李>索引编号:从左到右元素字符串起始偏移量编号为0;从右到从元素字符串起始偏移量编号为1   <李>抵消:正数时代表从左向右截取,为负数时代表从右向左截取李   <李>号码:为正数时代表截取长度,为负数则代表结束位置,当数量为代表结束位置时截取内容不包括第m位李   

壳牌字符串处理