龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 操作系统 > LINUX系统 >

bash中字符串的处理

时间:2011-03-20 22:37来源:未知 作者:admin 点击:
分享到:
1.得到字符串长度 方法一: $echo ${#variable} code: PHP 代码: zhyfly: ~$ x="this is a test" zhyfly: ~$ echo ${#x} 14 方法二: $expr length "$variable" code: PHP 代码: zhyfly: ~$ x="this is a test" zhyfly: ~$ expr length "$x" 1

1.得到字符串长度

方法一:

$echo ${#variable}

code:

PHP 代码:

zhyfly: ~$ x="this is a test"

zhyfly: ~$ echo ${#x}

14

方法二:

$expr length "$variable"

code:

PHP 代码:

zhyfly: ~$ x="this is a test"

zhyfly: ~$ expr length "$x"

14

方法三:

$expr "$variable" : ".*"

code:

PHP 代码:

zhyfly: ~$ x="this is a test"

zhyfly: ~$ expr "$x" : ".*"

14

2.查找字符串子串位置

方法:

$expr index "$variable" "substring"

code:

PHP 代码:

zhyfly: ~$ x="this is a test"

zhyfly: ~$ expr index "$x" "is"

3

zhyfly: ~$ expr index "$x" "t"

1

(ps:如果出现重复,好象只能查到第一个,第二个,第三个,...,怎么查到呢???)

3.得到字符串子字符串

方法一:

$echo ${variable:position:length}

code:

PHP 代码:

zhyfly: ~$ x="this is a test"

zhyfly: ~$ echo ${x:1:5}

his i

方法二:

$expr substr "$variable" startposition length

code:

PHP 代码:

zhyfly: ~$ x="this is a test"

zhyfly: ~$ expr substr "$x" 1 5

this

(ps:注意方法一和方法二中位置的区别!)

4.匹配正则表达式之匹配长度

方法:

$expr match "$x" "string"

code:

PHP 代码:

zhyfly: ~$ x="this is a test"

zhyfly: ~$ expr match "$x" "his"

0

zhyfly: ~$ expr match "$x" "this"

4

zhyfly: ~$ expr match "$x" "."

1

5.字符串的掐头去尾

方法:

$echo ${variable#startletter*endletter} # #表示掐头,因为键盘上#在$前面,一个表示最小匹配

$echo ${variable##tartletter*endletter} 两个表示最大匹配

$echo ${variable%startletter*endletter} # %表示去尾,因为键盘上%在$后面,一个表示最小匹配

$echo ${variable%%startletter*endletter} 两个表示最大匹配

code:

PHP 代码:

zhyfly: ~$ x="this is a test"

zhyfly: ~$ echo ${x#t}

his is a test

zhyfly: ~$ echo ${x#t*h}

is is a test

zhyfly: ~$ echo ${x#t*s}

is a test

zhyfly: ~$ echo ${x##t*s}

t

zhyfly: ~$ echo ${x%t}

this is a tes

zhyfly: ~$ echo ${x%s*t}

this is a te

zhyfly: ~$ echo ${x%e*t}

this is a t

zhyfly: ~$ echo ${x%%i*t}

th

6.字符(串)的替换

方法:

$echo ${variable/oldletter/newletter} #替换一个

$echo ${variable//oldletter/newletter} #替换所有

code:

PHP 代码:

zhyfly: ~$ x="this is a test"

zhyfly: ~$ echo ${x/i/m}

thms is a test

zhyfly: ~$ echo ${x//i/m}

thms ms a test

收藏文章
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
评论内容为空!
还没有评论,快来抢沙发吧!
按钮 内容不能为空!
立刻说两句吧! 查看0条评论
精彩图集

赞助商链接