test="https://www.jianshu.com"
#打印字符串内容
echo ${test}
#https://www.jianshu.com
#打印字符串长度
echo ${#test}
#23
1、截取操作
方法(1):指定截取字符串的起始位置与长度
对于字符串的起始位置定义:如果是从左到右,则第一个字符位置为0;
如果是从右到左,则第一个字符位置为1。
- 如下:从第8个字符串开始,截取长度为10的子字符串
echo ${test:8:10}
#www.jiansh
- 如下:从第8个字符串开始,截取后面的所有字符串内容
echo ${test:8}
#www.jianshu.com
- 如下:从倒数第11个字符串开始,截取后面的所有字符串内容
echo ${test:0-11}
#jianshu.com
方法(2):指定分隔符进行截取
- 注意
*
号的位置~ - 如下:取字符串中第一次出现
.
点号的右边全部内容
echo ${test#*.}
#https://www.jianshu.com
- 如下:取字符串中最后一次出现
.
点号的右边全部内容
echo ${test##*.}
#com
- 如下:取字符串中最后一次出现
.
点号的左边全部内容
echo ${test%.*}
#https://www.jianshu
- 如下:取字符串中第一次出现
.
点号的左边全部内容
echo ${test%%.*}
#https://www
2、替换操作
- 将字符串里的第一个点号
.
替换为短横-
echo ${test/./-}
#https://www-jianshu.com
- 将字符串里的全部点号
.
替换为短横-
echo ${test//./-}
#https://www-jianshu-com
- 可配合正则表达式完成自定义的替换方式,例如
echo ${test//[jh]/-}
#-ttps://www.-ians-u.com
参考教程