检查字符串是否在多个数组中不存在

布莱恩·古卡(Brian Gurka)

尝试检查字符串值是否不是两个不同数组的成员。如果字符串值在任何一个中都不存在,那么我需要执行一条语句。我能够使用if语句来完成...。

if [[ $REQ_FIELDS_LIST != *"$XFR_FIELD"* && $NON_INPUT_FIELDS_LIST != *"$XFR_FIELD"* ]];then

但是,星号导致子字符串返回假阳性。不幸的是,删除“ *”和if语句根本不起作用。看来,检查此站点,在bash中唯一安全的方法是执行for循环。但是,对于两个不同的阵列,最有效的方法是什么。同样,字符串值是数组本身的成员。因此,我们已经遍历了一个数组。遍历字符串值数组,并针对每个字符串值检查该字符串是否不是其他两个数组的成员。如果是这样,请执行一条语句。

所以我需要...

for XFR_FIELD in $INPUT_FIELDS_LIST
do
    if XFR field is not a member of REQ_FIELDS_LIST AND is not a member of NON_INPUT_FIELDS_LIST then
        "return 0" 
itChi

例如,您将这样迭代:

#!/bin/bash

INPUT_FIELDS_LIST=( one two three four five)
REQ_FIELDS_LIST=( one six seven eight )
NON_INPUT_FIELDS_LIST=( two three seven eight nine )

for ifl in "${INPUT_FIELDS_LIST[@]}"
do

        for rfl in "${REQ_FIELDS_LIST[@]}"
        do
                myvar=0
                if [[ $ifl == "$rfl" ]]
                then myvar=1; break
                else continue
                fi
        done

        for nifl in "${NON_INPUT_FIELDS_LIST[@]}"
        do
                myvar2=0
                if [[ $ifl == "$nifl" ]]
                then myvar2=1; break
                else continue
                fi
        done

        if [[ $myvar == 1 ]] || [[ $myvar2 == 1 ]]
        then continue
        else echo "$ifl"
        fi

done

手动遍历辅助循环,然后将其“标记”为无效。

最后的if语句检查是否已匹配任何一个值,如果已匹配则继续进行下一个主迭代。

输出:

four
five

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

检查字符串是否包含数组中的值

如果路径不存在,如何检查字符串路径是“文件”还是“目录”?

如何检查字符数组数组中是否存在字符串

检查字符串中是否存在模式

检查字符串中是否存在列表元素

检查字符串中是否包含数组值

检查字符串是否包含数组中存在的任何关键字

检查字符串中是否存在星号

如何使用lodash js检查字符串是否存在于数组中?

如何检查数组中的一个或多个数组中是否不存在值?

检查字符串是否包含存储在字符串数组中的多个值

如何检查字符串VBA中是否存在“ \”?

检查字符串数组中是否存在字符串的有效方法

如何检查另一个数据帧中是否不存在字符串值?

RegEx检查字符串中是否不存在字符

如何查找数组nodejs中是否不存在字符串

如何检查字符串中是否存在“ @”

如何检查字节数组中是否存在特定字符串?

检查列表中是否不存在字符串

如何检查字符串中是否存在行?

SQL检查字符串数组中的多个值

VBA - 检查字符串中是否存在“逗号”

如何检查字符串中是否存在“#”标签?

检查字符串数组 1 项是否存在于字符串数组 2 中并返回 bool

如何检查字符串中是否存在数组值之一?

如何在 Python 中检查字符串是否包含多个数字?

如何检查字符串数组中是否存在字符?

在c#中使用“Regex”检查字符串数组中是否存在元素

如何檢查字符串是否存在於對像中或不存在於 js 中?