截取字符串

  1. %+字符+正则表达式 删除字符及右边内容,从源字符串右边开始匹配 % 单井号表示一旦匹配成功立即删除 %% 双井号表示一直等相匹配到最后一个字符时再删除
  2. #+正则表达式+字符 删除字符及左边内容,从源字符串左边开始匹配 # 单井号表示一旦匹配成功立即删除 ## 双井号表示一直等相匹配到最后一个字符时再删除

实例

从line指定的路径中截取两个信息,类别和文件名称

1
line="shell/shell命令处理字符串.md"
  1. 截取文件类别:shell 删除最右边的“/shell命令处理字符串.md”
1
categories="${line%%/*}"  # %%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符
  1. 截取文件名称:shell命令处理字符串 先删除最左边的“shell/”,再删除最右边的“.md”
1
2
titlemd="${line##*/}"   # ##*/: 删除"/"左边所有字段即"shell/"
title="${titlemd%%\.*}" # 删除.md文件后缀