首页 > 其他 > 详细

专题 (六)字符串相关操作

时间:2021-05-13 20:19:20      阅读:25      评论:0      收藏:0      [点我收藏+]

1、字符串分割

(1) 用 # 操作符分割

用途是从左边开始删除第一次出现子字符串即其左边字符,保留右边字符。用法为 #*substr ,例如:
str=‘http://www.你的域名.com/cut-string.html‘
echo ${str#*//}
得到的结果为www.你的域名.com/cut-string.html,即删除从左边开始到第一个"//"及其左边所有字符2、使用 ## 号操作符。用途是从左边开始删除最后一次出现子字符串即其左边字符,保留右边字符

(2) 用 ## 操作符分割

用法为 ##*substr,例如:
str=‘http://www.你的域名.com/cut-string.html‘
echo ${str##*/}
得到的结果为cut-string.html,即删除最后出现的"/"及其左边所有字符

(3) 用 % 操作符分割

用途是从右边开始删除第一次出现子字符串即其右边字符,保留左边字符。用法为 %substr* ,例如:
str=‘http://www.你的域名.com/cut-string.html‘
echo ${str%/*}
得到的结果为http://www.你的域名.com,即删除从右边开始到第一个"/"及其右边所有字符

(4) 用 %% 操作符分割

用途是从右边开始删除最后一次出现子字符串即其右边字符,保留左边字符。用法为 %%substr* ,例如:
str=‘http://www.你的域名.com/cut-string.html‘
echo ${str%%/*}
得到的结果为 http://www.你的域名.com,即删除从右边开始到最后一个 "/" 及其右边所有字符

(5) 数字分割

a) 从左边第几个字符开始以及字符的个数,用法为 :start:len ,例如:
str=‘http://www.你的域名.com/cut-string.html‘
echo ${var:0:5}
其中的 0 表示左边第一个字符开始,5 表示字符的总个数。 左边第一个字符下标为 0
结果是:http:

b) 从左边第几个字符开始一直到结束,用法为 :start,例如:
str=‘http://www.你的域名.com/cut-string.html‘
echo ${var:7}
其中的 7 表示左边第8个字符开始
结果是:www.你的域名.com/cut-string.html

c) 从右边第几个字符开始以及字符的个数,用法:0-start:len,例如:
str=‘http://www.你的域名.com/cut-string.html‘
echo ${str:0-15:10}
其中的 0-15 表示右边算起第15个字符开始,10 表示字符的个数。 右边第一个字符下标为 1,表示为 0-1
结果是:cut-string

d) 从右边第几个字符开始一直到结束,用法:0-start,例如:
str=‘http://www.你的域名.com/cut-string.html‘
echo ${str:0-4}
其中的 0-4 表示右边算起第4个字符开始 一直到右边结束。
结果是:html

 

案例:

(1) 使用 grep/sed 提取 json字符串中指定key的value值

可以具体见:https://blog.csdn.net/kakabuqinuo/article/details/99845797

 

 

2、判断字符串是否包含特定子字符串

(1) 使用 grep (这种是非常常见的)

s1="abcdefg"
s2="bcd"
result=$(echo $s1 | grep "${s2}")
if [[ "$result" != "" ]]
then
    echo "$s1 include $s2"
else
    echo "$1 not include $s2"
fi

(2) 使用操作符~

fileName=/home/sss/data/hk

if [[ $fileName =~hk ]]
then
    echo "$fileName include hk"
else
    echo "not include"
fi

(3) 使用通配符*

A="helloworld"
B="low"
if [[ $A == *$B* ]]
then
    echo "包含"
else
    echo "不包含"
fi

 

 

 

 

参考:

https://www.cnblogs.com/sssblog/p/10273148.html

https://www.cnblogs.com/aslongas/p/5993690.html

专题 (六)字符串相关操作

原文:https://www.cnblogs.com/sandyflower/p/14031352.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!