Chinaunix首页 | 论坛 | 博客
  • 博客访问: 857766
  • 博文数量: 133
  • 博客积分: 7117
  • 博客等级: 少将
  • 技术积分: 1846
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-16 21:30
文章分类

全部博文(133)

文章存档

2012年(1)

2011年(4)

2010年(2)

2009年(57)

2008年(69)

分类:

2009-02-13 11:42:44

(一)字符串的替换
(1)${变量1/查找字符/替换字符}(说明一下,这个操作中除了第一个参数是变量外其它两个都是字符;还有一点就是这个操作并不是 把“变量1”中的字符替换了,详见例子)例:str1=abcABCabc123ABCecho ${str1/bcA/aaa}#这里的abc和aaa都是字符串,而str1是变量,并且这个操作过后str1里的字符串长度不会减少,只是产生了一个 新的字串。
(2)${变量1/#查找字符/替换字符}(说明一下,这个操作上和面的是一样的,只不过是从左边开始匹配,并且必须从左边第一个字符开始) 例:echo ${str1/#bcA/aaa}#这个例子中并不会把bcA换成aaa因为b不是左边第一个开头字符echo ${str1/#abc/aaa}#这样才行
(3)${变量1/%查找字符/替换字符}(与(2)相反,是结尾最后一个字符要匹配才行)例:echo ${str1/%3ABC/aaa}#abcABCabc12aaa(3)${变量1//查找字符/替换字符}全部替换
(二)取子串
(1)${变量1:位 置}(说明一下,默认是从左边开始,如果“位置”为负数,则是从右边的第“位置”个字符开始,并且第一个位置为0;从“位置”开始取子串到最后) 例:str1=abcABCabc123ABCecho ${str1:(-3)}#会输出ABC
(2)${变量1:开始位置:结束位置}
(3)如果“变量1”为“*”或“@”,“位置”所表示的是第几个参 数。
(三)字符串移动
(1)${字串#匹配字串}(说明一下,这个是从左边第一个开始匹配,剥去最短“匹配字串”) 例:str1=abcABCabc123echo ${str1#a*c}#输出ABCabc123(2)${字串##匹配字串}(说明一下,这个是从左边第一个开始匹配,剥去最长“匹配字串 ”)str1=abcABCabc123echo ${str1#a*c}#输出123echo ${str1#b*c}#输出abcABCabc123,因为没有从第一个开始匹配(3)${字串%匹配字串}(4)${字串%%匹配字串}(说明一下, 这与上面的(1)
(2)是正好相反的,是从最后一个开始匹配的)
(四)字符串长度
${#字串}例:str=abcdefgecho ${#str}#输出7
阅读(1890) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~