10.bash 字符串操作

1.字符串长度

本章介绍 Bash 字符串常见的操作语法。

首先是获取字符串长度,方式其实和前面一章节获取数组长度类似,都是用的#号:

${#varname}

比如:

image.png

注意这里的大括号{}是必需的,因为$#的含义获取脚本参数个数,有特定含义,必须要使用大括号进行分割。

2.子字符串

字符串提取子串的语法如下。

${varname:offset:length}

上面语法的含义是返回变量$varname的子字符串,从位置offset开始(从0开始计算),长度为length

image.png

上面例子返回字符串www.kucoding.com从3号位置开始的长度为8的子字符串.kucodin

这种语法不能直接操作字符串,只能通过变量来读取字符串,并且不会改变原始字符串。

# 报错
echo ${"hello":2:3}

上面例子中,"hello"不是变量名,会导致 Bash 报错。

如果省略length,则从位置offset开始,一直返回到字符串的结尾:

image.png

上面例子是返回变量ku从4号位置一直到结尾的子字符串。

如果offset为负值,表示从字符串的末尾开始算起。

注意,负数前面必须有一个空格, 以防止与${variable:-word}的变量的设置默认值语法混淆。

作者:余识
全部文章:0
会员文章:0
总阅读量:0
c/c++pythonrustJavaScriptwindowslinux