浓墨重彩之shell-03-字符串

字符串

单引号

str='this is a string'

单引号字符串的限制:
- 单引号的任何字符都会原样输出,单引号字符串中的变量也是无效的;
- 单引号字符串中不能出现单引号(对单引号使用转义字符也不行)

双引号

you_name='hate'
str="Hello, I know you are \"$your_name\"! \n"

双引号的优点
- 双引号里可以有变量
- 双引号里可以出现转义字符

获取字符串长度

string='abcd'
echo ${#string} #输出 4

提取子字符串

语法:

${parameter:offset}
${parameter:offset:length}

案例:

foo="This is string is long."
echo ${foo:5} # 输出 string is long
echo ${foo:5:6} # 输出 string

如果offset的值为负,默认表示它从字符串的末尾开始,而不是字符串开头。
负值前必须有一个空格,如:

foo="This string is long."
echo ${foo: -5} # 输出 long.
echo ${foo: -5:2} # 输出 lo

查找子字符串

string="hello Kittly"
echo `expr index "$string" i` # 输出8

截取字符串

var="http://www.aaa.com/123.html"
1. #号截取,删除左边字符,保留右边字符
echo ${var#*//} #输出 www.aaa.com/123.html

var是变量名
#号是运算符
*//表示从左边开始删除第一个//及左边的所有的字符。

2. ##号截取,删除左边字符,保留右边字符
echo ${var##*/} # 输出123.html
3. %号截取,删除右边字符,保留左边字符
echo ${var%/*} # 输出 http://www.aaa.com
4. %%号截取,删除右边字符,保留左边字符
echo ${var%%/*} # 输出 http:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值