Shell:截取字符串方法

原文链接

方法1

"${varible##*string}"

从左向右截取最后一个string后的字符串

e.g.

exampleString="abc//888//abcdd//1234//444//1234//5"
subString="${exampleString##*//}"
echo $subString

输出结果

5

方法2

"${varible#*string}"

从左向右截取第一个string后的字符串

e.g.

exampleString="abc//888//abcdd//1234//444//1234//5"
subString="${exampleString#*//}"
echo $subString

输出结果

888//abcdd//1234//444//1234//5

方法3

"${varible%%string*}"

从右向左截取最后一个string后的字符串

e.g.

exampleString="abc//888//abcdd//1234//444//1234//5"
subString="${exampleString%%//*}"
echo $subString

输出结果

abc

方法4

"${varible%string*}"

从右向左截取第一个string后的字符串

e.g.

exampleString="abc//888//abcdd//1234//444//1234//5"
subString="${exampleString%//*}"
echo $subString

输出结果

abc//888//abcdd//1234//444//1234

应用示例

从字符串中提取出手机号码

applyString="我的手机号码是18888888891,QQ是88998989。"

frist="${applyString#*是}"
second="${frist%,*}"
echo $second 

结果输出

18888888891

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容