如何检查variables是否包含数字和字母(例如:3a)

我必须读取一个excel文件,并根据行号识别我需要的行。 不幸的是,行是这样的:

  • 1:主题2
  • 1a:重要信息…
  • 1b:重要信息…
  • 2:主题2
  • 2a:重要信息…

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

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

你有什么想法如何实现?

使用正则expression式:

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

你可能不得不随便说一些实际的expression方式,因为各种语言之间可能会有细微的差别,但\d+\D应该基本上工作,至less对我来说是这样 。

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

你可以使用一个正则expression式:

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

\d+[az]匹配任何数字序列( \d+ )后跟一个字母( [az] )。 variables$rowNumber需要被代码中实际包含行号的variablesreplace。