如何检查变量是否由数字和字母组成(例如:3a)

How to check whether a variable consists of a number and a letter (eg: 3a)

我必须读取一个 excel 文件,然后根据行号确定我需要的行。 不幸的是,行是这样的:

所以我所做的是,我用 for 循环检查每一行,然后我有 if 语句,其中只有带有 1a,1b,2a, ... , 29c 的主题应该通过。

for($i=19 ; $i<173 ; $i++){
            "code"
            if( ??? )){
                "code";
            }
        }

你知道如何实现吗?

您可以为此使用正则表达式:

for($i=19 ; $i<173 ; $i++){
    "code"
    if (preg_match("/\d+[a-z]/", $rowNumber)) {
        "code";
    }
}

\d+[a-z] 匹配任何数字序列 (\d+) 后跟一个字母 ([a-z])。 变量 $rowNumber 需要替换为代码中实际包含行号的变量。

使用正则表达式:

if(preg_match('\d+\D', 'Your_Input') === 1){
    //doStuff();
}

您可能需要稍微调整一下实际的表达方式,因为不同语言之间可能存在细微差异,但 \d+\D 基本上应该可以,至少 it does for me.

此外,这里还有一些关于 preg_match 的更多信息。