| bash中字符串的处理 |
|
作者:linux专家 文章来源:山东在线更新时间:2007-6-30 0:43:40  |
|
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
|
| 文章录入:admin 责任编辑:admin |
|
上一篇文章: 在Ubuntu Linux上安装Java和Eclipse 下一篇文章: 一步一步安装服务器监视软件MRTG |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |