主页 > 知识库 > shell 判断字符串是否存在数组中的实现示例

shell 判断字符串是否存在数组中的实现示例

热门标签:如何申请400的电话呀 黑暗之魂3地图标注 电话机器人对家居行业帮助大吗 合肥电销外呼系统供应商 地图标注审核周期 AI智能电销机器人坏处 沈阳ai电销智能机器人 电商外呼系统排名 兰州电销机器人加盟

语法格式: [[ "${array[@]}" =~ "字符串" ]]

示例:

#!/bin/sh
##数组
array=(
address
base
cart
company
store
)

 
# $1 如果存在,输出 $1 exists,$1 如果不存在,输出 $1 not exists
if [ "$1" != null ];then
 if [[ "${array[@]}" =~ "${1}" ]]; then
 echo "$1 exists"
 elif [[ ! "${array[@]}" =~ "${1}" ]]; then
 echo "$1 not exists"
 fi
else
 echo "请传入一个参数"
fi

扩展:

这种方式不仅可以判断字符串是否存在数组中,也快判断字符串是否存在一个文本中。

## 判断字符串是否存在文本中
#!/bin/sh

names="This is a computer , I am playing games in the computer"
if [[ "${names[@]}" =~ "playing" ]]; then
 echo '字符串存在'
fi

shell将字符串分隔成数组

#!/bin/bash
a="hello,world,nice,to,meet,you"
#要将$a分割开,先存储旧的分隔符
OLD_IFS="$IFS"

#设置分隔符
IFS="," 

#如下会自动分隔
arr=($a)

#恢复原来的分隔符
IFS="$OLD_IFS"

#遍历数组
for s in ${arr[@]}
do
echo "$s"
done

变量$IFS存储着分隔符,这里我们将其设为逗号 "," OLD_IFS用于备份默认的分隔符,使用完后将之恢复默认。
arr=($a)用于将字符串$a按IFS分隔符分割到数组$arr
${arr[0]} ${arr[1]} ... 分别存储分割后的数组第1 2 ... 项
${arr[@]}存储整个数组。
${!arr[@]}存储整个索引值:1 2 3 4 ...
${#arr[@]} 获取数组的长度。

到此这篇关于shell 判断字符串是否存在数组中的实现示例的文章就介绍到这了,更多相关shell 判断字符串在数组中内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
  • shell脚本字符串和数组的使用操作方法

标签:淮南 河北 黔南 黔南 常州 河池 陇南 通辽

巨人网络通讯声明:本文标题《shell 判断字符串是否存在数组中的实现示例》,本文关键词  shell,判断,字符串,是否,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《shell 判断字符串是否存在数组中的实现示例》相关的同类信息!
  • 本页收集关于shell 判断字符串是否存在数组中的实现示例的相关信息资讯供网民参考!
  • 推荐文章