📌  相关文章
📜  检查字符串中是否存在子字符串 bash - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:26:45.744000             🧑  作者: Mango

检查字符串中是否存在子字符串

在Shell-Bash中,我们可以使用不同的方式检查一个字符串中是否包含子字符串。下面介绍两种常见的方法。

方法一:使用grep命令

在Shell-Bash中,我们可以使用grep命令来在文本文件中查找某个字符串。同样的,我们也可以使用grep命令来在一个字符串中查找某个子字符串。

string="这是一个测试字符串"
substring="测试"

if echo "$string" | grep -q "$substring"; then
    echo "字符串中存在子字符串 $substring"
else
    echo "字符串中不存在子字符串 $substring"
fi

上述代码中,我们先定义了一个字符串string和一个子字符串substring。然后,我们使用管道符将string的值传递给grep命令,查找substring是否存在其中。-q选项表示grep命令不输出任何信息,只返回命令执行结果。如果返回值为0,则表示查找到了子字符串,否则表示未查找到。

方法二:使用Shell-Bash内置函数

在Shell-Bash中,还有一个内置的函数case,可以用来检查一个字符串中是否包含子字符串。

string="这是一个测试字符串"
substring="测试"

case "$string" in
    *"$substring"*)
        echo "字符串中存在子字符串 $substring"
        ;;
    *)
        echo "字符串中不存在子字符串 $substring"
        ;;
esac

上述代码中,我们使用case函数将string的值作为模式字符串进行匹配。*"$substring"*表示可以匹配任意字符序列,其中包含子字符串$substring。如果匹配成功,则执行第一个分支,否则执行第二个分支。