Bash 中的字符串变量

Bash 中的字符串变量


s="1234567890"

echo ${s}           # 1234567890
echo ${s:0:5}       # 12345
echo ${s:1:5}       # 23456
echo ${s:1: -1}     # 23456789
echo ${s: -5: 3}    # 678
echo ${s: -5: -3}   # 67
echo ${s:3}         # 4567890
echo ${s: -3}       # 890
echo ${s::3}        # 123
echo ${s:: -3}      # 1234567
echo ${#s}          # 10(字符数)

echo

s="aaabbbccc"

echo ${s}           # aaabbbccc
echo ${s#a}         # aabbbccc   去掉开头的 a
echo ${s#aaa}       # bbbccc     去掉开头的 aaa
echo ${s#b}         # aaabbbccc  去掉开头的 b
echo ${s#*b}        # bbccc      去掉开头的 *b
echo ${s##*b}       # ccc        去掉开头的 *b,贪婪模式
echo ${s##*b?}      # cc         去掉开头的 *b?,贪婪模式

echo ${s%c}         # aaabbbcc   去掉尾部的 c
echo ${s%ccc}       # aaabbb     去掉尾部的 ccc
echo ${s%b}         # aaabbbccc  去掉尾部的 b
echo ${s%b*}        # aaabb      去掉尾部的 b*
echo ${s%%b*}       # aaa        去掉尾部的 b*,贪婪模式
echo ${s%%?b*}      # aa         去掉尾部的 ?b*,贪婪模式

### $ 是变量前缀,在键盘上,# 在 $ 之前,所以表示去掉头部的内容,% 在 $ 之后,所以表示去掉尾部的内容,## 比 # 多一个 #,所以表示贪婪模式,%% 比 % 多一个 %,所以表示贪婪模式。

echo

s="Hello Hey Hi HHH"

echo ${s}          # Hello Hey Hi HHH
echo ${s/H/_}      # _ello Hey Hi HHH   替换一次
echo ${s//H/_}     # _ello _ey _i ___   全部替换
echo ${s//H/}      # ello ey i          替换为空
echo ${s/i*/}      # Hello Hey H        通配符替换
echo ${s/*i/}      # HHH                通配符替换
echo ${s/H???/}    # o Hey Hi HHH       通配符替换
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值