bash shell的字符串处理

${#str} str的长度

expr length "$str"

expr "$str" : '.*'

匹配字符串开头的字串长度,

expr match "$str" '$sub'

expr "$str" : '$sub'

str=abcABC123ABCabc
^------------------^
echo `expr "$str" : '.*ABC'` #12

索引

expr index $str $sub

取子串

${str:position}
${str:position:length}
expr substr $str $position $length
expr match "$str" '\($sub\)' #从开始取到substr
expr "$str" : '\($sub\)'
expr match "$str" '.*\($sub\)' #从结尾取到substr
expr "$str" : '.*\($sub\)'

子串删除

${str#sub} # 从开始去掉在最小匹配的$sub
${str##sub} # 最大
${str%sub} #从结尾
${str%%sub} #最大匹配

子串替换

${str/sub/repl} #用repl替换第一个匹配的sub
${str//sub/repl} #替换所有匹配
${str/#sub/repl} #如果sub匹配str的开头部分,则用repl替换
${str/%sub/repl} #如果sub匹配str的结尾部分,则用repl替换
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值