1.字符串长度:
${#string}
expr length $string
expr "$string":'.*'
这三种方法都可以。
2.从字符串开始的位置匹配字串的长度
expr match "$string" '$substring'
expr "$string" : '$substring'
$substring 是一个正则表达式
3.匹配到子串的第一个字符的位置
expr index $string $substring
4.提取子串
${string:position}
${string:position:length} 从string中位置为$position开始提取长度为length的子串
expr substr $string $position $length 从string中位置为$position开始提取长度为length的子串
expr match "$string" '\($substring\)'
expr "$string" : '\($substring\)'
从$string的开始位置提取$substring ,$substring 是一个正则表达式
5.子串削除
${string#substring} 从字符串的左边截掉第一个匹配的substring
${string##substring} 从字符串的左边截掉z最后一个匹配的substring
${string%substring} 从字符串的右边截掉第一个匹配的substring
${string%%substring} 从字符串的右边截掉最后一个匹配的substring
6.子串替换
${string/substring/replacement}使用replacement替换第一个匹配的substring
${string//substring/replacement}使用replacement替换所有匹配的substring
${string/#substring/replacement}如果substring匹配string的开头,那么就用replacement来替换
${string/%substring/replacement}如果substring匹配string的结尾,那么就用replacement来替换