Linux字符串操作之截取、替换

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

参考教程

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

推荐阅读更多精彩内容