您的位置:首页 > 运维架构 > Linux

Linux内置字符串处理

2010-11-15 15:28 204 查看
一、字符串条件判断



简单表达式


解释


实例


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
没有被声明,
或者其值为空
,
那么就以$DEFAULTSTRING
作left
的值,否则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
开始提取串(pos
从0
开始)

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: