如何检查字符串是否包含列表中的任意元素
验证字符串是否包含列表中的任意元素
需求是判断指定字符串是否包含列表里的任意一个元素,这和「检查变量是否匹配列表中任意项」的逻辑恰好相反。
正确的Bash实现示例
email="john.brown@google.com" # 用数组定义目标列表 list=("app-1" "app-2" "john") # 遍历列表逐个检查字符串是否包含当前项 contains_match=false for item in "${list[@]}"; do if [[ "$email" == *"$item"* ]]; then contains_match=true break fi done # 根据检查结果输出对应内容 if $contains_match; then echo "邮箱包含列表中的某个元素" else echo "邮箱不包含列表中的任何元素" fi
逐项检查逻辑说明
- 检查"app-1":邮箱字符串不包含该元素 → 结果为false
- 检查"app-2":邮箱字符串不包含该元素 → 结果为false
- 检查"john":邮箱字符串包含该元素 → 结果为true
内容的提问来源于stack exchange,提问作者cloudy
相关产品推荐
相关产品推荐

