欢迎,来自IP地址为:98.81.24.230 的朋友
了解了数组操作后,我们来进一步学习如何操作字符串,包括字符串的扩展、替换和删除子串等。
字符串是大多数编程语言的基本数据类型,一个字符串是一组字符。
Bash 比较特殊,它没有单独的字符串数据类型,所有数据都可以理解为变量。
但这并不代表 Bash 并不能处理字符串,它处理字符串的方式与 C 语言类似。
查找子串、替换及连接字符串等字符串操作都可以在 Bash 脚本中处理。
获取字符串长度
想要获取字符串的长度,方式也比较简单:
${#string}
示例如下:
如示例所示,第二个变量包含两个字符,但是它被引号括起,可以理解为一个字符串,空格同样会被计算了长度。
拼接字符串
对于字符串来说,最基本的操作就是拼接字符串。对于字符串的拼接,只需要按如下形式操作:
str3=$str1$str2
看起来是不是很简单?
我们创建一个示例脚本”join.sh”,内容如下:
#!/usr/bin/bash read -p "Enter first string: " str1 read -p "Enter second string: " str2 joined=$str1$str2 echo "The joined string is: $joined"
执行脚本结果如下:
截取字符串
如果需要在字符串中截取一部分字符串,可以使用如下方式截取字符串的子串:
${string:$pos:$len}
同数组一致,字符串的位置也是从 0 开始。
即使所给的长度值大于字符串的实际长度,也不会产生错误,也只会将字符串对应的内容截取出来,不会增加其它内容。
字符串替换
字符串替换的语法格式如下:
${string/substr1/substr2}
此时,会将字符串”string”中的”substr1″替换为”substr2″。
如上所示,字符串中的”good”被替换为”best”,如果字符串中并不包含指定字符串”substr1″,则不会替换任何内容,字符串内容保持不变。
字符串删除子串
现在我们讲解一下如何删除字符串中的部分子串,只需要提供需要删除的子串即可,格式如下:
${string/substring}
如果需要删除的子串未找到,则不会产生错误,字符串保持原值内容不变。
如何解决分支事件处理,下一节将学习 Bash 的条件表达式 >>Bash 基础(七):IF ELSE 表达式<<
One thought on “Bash 基础(六):字符串操作”