📅  最后修改于: 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中,还有一个内置的函数case
,可以用来检查一个字符串中是否包含子字符串。
string="这是一个测试字符串"
substring="测试"
case "$string" in
*"$substring"*)
echo "字符串中存在子字符串 $substring"
;;
*)
echo "字符串中不存在子字符串 $substring"
;;
esac
上述代码中,我们使用case
函数将string
的值作为模式字符串进行匹配。*"$substring"*
表示可以匹配任意字符序列,其中包含子字符串$substring
。如果匹配成功,则执行第一个分支,否则执行第二个分支。