Linux内置字符串处理

来源:互联网 发布:卷皮版淘宝客程序 编辑:程序博客网 时间:2024/05/28 23:21

一、字符串条件判断

简单表达式

解释

实例

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}

129453467

${string//substring/replacement}

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

test="123453467";echo ${test//3/9}

129459467

${string/#substring/replacement}

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

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

9123467

${string/%substring/replacement}

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

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

1231239

 

原创粉丝点击