关于字符串处理

文章目录

    • 关于字符串处理
      • 1、取字符串的长度
      • 2、跳过前面的字符
      • 3、取字符串右边的字符
      • 4、掐头去尾
      • 5、取倒数的范围
      • 6、删左留右
      • 7、删右留左
      • 8、查找替换
      • 9、大小写转换

关于字符串处理

1、取字符串的长度

[root@localhost ~]#str=abcd1128
#定义变量
[root@localhost ~]#echo ${#str}
8
#查看字符串长度

image-20240201173226327

2、跳过前面的字符

[root@localhost ~]#echo ${str}
abcd1128

[root@localhost ~]#echo ${str:2}
cd1128
#跳过前面两个字符,取后面

[root@localhost ~]#echo ${str:4:4}
1128
#跳过前面4个字符,往后取4个字符

[root@localhost ~]#echo ${str:0:4}
abcd
#从头开始,往后取4个字符

关于字符串处理_第1张图片

3、取字符串右边的字符

[root@localhost ~]#echo ${str}
abcd1128

[root@localhost ~]#echo ${str: -4}
1128
#从右边开始取4个字符,注意数字之前要加空格,不然不生效

image-20240201173902651

4、掐头去尾

[root@localhost ~]#echo ${str}
abcd1128

[root@localhost ~]#echo ${str:2:-2}
cd11
#跳过前面2个和后面3个字符,取中间

image-20240201174129610

5、取倒数的范围

[root@localhost ~]#echo ${str}
abcd1128

[root@localhost ~]#echo ${str: -4:-2}
11
#取倒数第4个字符和倒数第2个字符中间的字符(注意空格)

关于字符串处理_第2张图片

6、删左留右

#删左留右
[root@localhost ~]#url=https://www.baidu.com:80/index.html

[root@localhost ~]#echo $url
https://www.baidu.com:80/index.html

[root@localhost ~]#echo ${url#*:}
//www.baidu.com:80/index.html
#非贪婪模式,遇到第一个:就结束

[root@localhost ~]#echo ${url##*:}
80/index.html
#贪婪模式,遇到最后一个:就结束

关于字符串处理_第3张图片

7、删右留左

#删右留左
[root@localhost ~]#url=https://www.baidu.com:80/index.html

[root@localhost ~]#echo $url
https://www.baidu.com:80/index.html

[root@localhost ~]#echo ${url%:*}
https://www.baidu.com
#非贪婪模式,遇到第一个:就结束

[root@localhost ~]#echo ${url%%:*}
https
#贪婪模式,遇到最后一个:就结束

关于字符串处理_第4张图片

8、查找替换

[root@localhost ~]#url=https://www.baidu.com:80/index.html

[root@localhost ~]#echo $url
https://www.baidu.com:80/index.html

[root@localhost ~]#echo ${url/https/http}
http://www.baidu.com:80/index.html
#将https替换成http

[root@localhost ~]#echo ${url/:/+}
https+//www.baidu.com:80/index.html
#将第一次匹配到的:替换成+

[root@localhost ~]#echo ${url//:/+}
https+//www.baidu.com+80/index.html
#将匹配到的所有:替换成+

[root@localhost ~]#echo ${url/#http/xxxx}
xxxxs://www.baidu.com:80/index.html
#将开头的http替换成xxxx

[root@localhost ~]#echo ${url/%html/xxxx}
https://www.baidu.com:80/index.xxxx
#将末尾的html替换成xxxx

关于字符串处理_第5张图片

9、大小写转换

[root@localhost ~]#echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z

[root@localhost ~]#echo {a..z}|tr -d " "
abcdefghijklmnopqrstuvwxyz

[root@localhost ~]#str=`echo {a..z}|tr -d " "`

[root@localhost ~]#echo $str
abcdefghijklmnopqrstuvwxyz

[root@localhost ~]#echo ${str^^}
ABCDEFGHIJKLMNOPQRSTUVWXYZ
#将所有的小写转化成大写

[root@localhost ~]#echo ${str,,}
abcdefghijklmnopqrstuvwxyz
#将所有的大写转化成小写

关于字符串处理_第6张图片

你可能感兴趣的:(linux)