欢迎,来自IP地址为:3.149.234.141 的朋友


了解了数组操作后,我们来进一步学习如何操作字符串,包括字符串的扩展、替换和删除子串等。

字符串是大多数编程语言的基本数据类型,一个字符串是一组字符。

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 基础(六):字符串操作”

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注