感谢支持
我们一直在努力

Linux内置字符串处理

一、字符串条件判断





























简单表达式


解释


实例


Left=${right}


Left= 变量right 的值, $right 相同


right=”a”;left=${right};echo ${left}


a


Left=${right DEFAULTSTRING}


如果right 没有被声明 , 那么就以$DEFAULTSTRING 作为left 的值,否则left=$right


left=${right-“default”};echo $left $right


default


 


right=””;left=${right-“default”};echo $left $right


 


Left=${right:- DEFAULTSTRING}


如果right 没有被声明, 或者其值为空 , 那么就以$DEFAULTSTRINGleft 的值,否则left=$right


right=””;left=${right:-“default”};echo $left $right


default


Left=${right= DEFAULTSTRING}


如果right 没有被声明 , 那么就以$DEFAULTSTRING 作为left 的值, 同时right=$DEFAULTSTRING, 否则left=$right


right=””;left=${right=”default”};echo $left $right


 


Left=${right:= DEFAULTSTRING}


如果right 没有被声明, 或者其值为空 , 那么就以$DEFAULTSTRING 作为left 的值, 同时right=$DEFAULTSTRING, 否则left=$right


right=””;left=${right:=”default”};echo $left $right


default default


 




 


二、字符串常用操作(长度,读取,替换)





















































字符表达式


解释


实例


${#string}


获取$string 字符长度


test=”12345″;echo ${#test}


5


${string:pos}


$string, 从位置$pos 开始提取串(pos0 开始)


test=”12345″;echo ${test:1}


2345


${string:pos:length}


$string, 从位置$pos 开始提取长度为$length 的串


test=”12345″;echo ${test:1:2}


23


${string#substring}


从变量$string 左边, 删除最短匹配$substring 的串


test=”123453467″;echo ${test#*3}


453467


${string##substring}


从变量$string 左边, 删除最长匹配$substring 的串


test=”123453467″;echo ${test##*3}


467


${string%substring}


从变量$string 的右边开始, 删除最短匹配$substring 的串


test=”123453467″;echo ${test%3*}


12345


${string%%substring}


从变量$string 的右边开始, 删除最长匹配$substring 的串


test=”123453467″;echo ${test%%3*}


12


${string/substring/replacement}


使用$replacement, 来代替第一个匹配的$substring


test=”123453467″;echo ${test/3/9}


129 453467


${string//substring/replacement}


使用$replacement, 代替所有 匹配$substring


test=”123453467″;echo ${test//3/9}


129 459 467


${string/#substring/replacement}


如果$string前缀 匹配 $substring, 那么就用$replacement 来代替$substring


test=”123123467″;echo ${test/#123/9}


9 123467


${string/%substring/replacement}


如果$string后缀 匹配$substring, 那么就用$replacement 来代替$substring


test=”123123467″;echo ${test/%467/9}


1231239

赞(0) 打赏
转载请注明出处:服务器评测 » Linux内置字符串处理
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏