Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1869390
  • 博文数量: 217
  • 博客积分: 4362
  • 博客等级: 上校
  • 技术积分: 4180
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-20 09:31
文章分类

全部博文(217)

文章存档

2017年(1)

2015年(2)

2014年(2)

2013年(6)

2012年(42)

2011年(119)

2010年(28)

2009年(17)

分类:

2010-09-03 18:18:15

#!/bin/bash

#字符串长度
echo "字符串长度"
str=inpath.abc
echo ${#str}
echo `expr length $str`
echo `expr "$str" : '.*'`

#从字符串开始的位置匹配子串的长度
echo "从字符串开始的位置匹配子串的长度"
echo `expr match "$str" "[a-z]*.[A-Z]*"`
echo `expr "$str" : "[a-z]*.[A-Z]*"`

#匹配到子串的第一个字符的位置
echo "匹配到子串的第一个字符的位置"
echo `expr index "$str" "ab"` #匹配a
echo `expr index "$str" "b."` #匹配.

#提取子串
echo "提取子串"
echo ${str:0}
echo ${str:4}
echo ${str:3:2}
echo ${str:(-4)}
echo ${str: -4} #这里有一个空格
echo ${@:2} #如果第一个为*或@时将显示从第2个和后面所有的位置参数
echo ${*:2}
echo ${*:2:3}

#另外一种提取子串的方法
echo "另外一种提取子串的方法"
echo `expr substr $str 2 3`

#子串消除
echo "子串消除"
echo ${str#i*a} #最近匹配
echo ${str##i*a} #最远匹配
echo ${str%a*c} #从右最近匹配
echo ${str%%a*c} #从右最远匹配
echo ${str%${str#?}}

#子串替换
echo "子串替换"
echo ${str/in/12} #只替换第一个
echo ${str//in/12} #替换所有的
exit 0
阅读(1917) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~