Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-查找字符串中的第一个字母字符_Php_Regex - Fatal编程技术网

PHP-查找字符串中的第一个字母字符

PHP-查找字符串中的第一个字母字符,php,regex,Php,Regex,我有一根像下面这样的线 $string = "1234@#$ABCFG3478&*"; 现在我想要这个字符串中的第一个字符不是数字或特殊字符,它应该只有A-A到Z-Z 意思是,我只需要这个字符串中的“A” 我试过这个公式: substr($string, 1); 使用正则表达式: $string = '1234@#$ABCFG3478&*'; if (preg_match('/[a-z]/i', $string, $match)) { $firstLetter =

我有一根像下面这样的线

$string = "1234@#$ABCFG3478&*";
现在我想要这个字符串中的第一个字符不是数字或特殊字符,它应该只有A-A到Z-Z

意思是,我只需要这个字符串中的“A”

我试过这个公式:

 substr($string, 1);
使用正则表达式:

$string = '1234@#$ABCFG3478&*';

if (preg_match('/[a-z]/i', $string, $match)) {
    $firstLetter = $match[0];
} else {
    // there's no letters in given string
}
使用正则表达式:

$string = '1234@#$ABCFG3478&*';

if (preg_match('/[a-z]/i', $string, $match)) {
    $firstLetter = $match[0];
} else {
    // there's no letters in given string
}

这应该适合您:

(在这里,我只是用一个空字符串替换所有不在
a-zA-Z
范围内的字符,然后我只抓取第一个字母)


这应该适合您:

(在这里,我只是用一个空字符串替换所有不在
a-zA-Z
范围内的字符,然后我只抓取第一个字母)


字符串中的美元符号将发出通知(未定义变量)。您应该将双引号改为单引号以避免此情况发生。@jigsVirani如果您对我下面的回答满意,您可以接受它。字符串中的美元符号将发出通知(未定义变量)你应该将双引号改为单引号以避免它。@jigsVirani如果你对我下面的答案感到满意,你可以接受它。我建议你将@Daan的建议纳入你的答案,因为否则你的好解决方案将不起作用。我建议你将@Daan的建议纳入你的答案,因为否则你的好解决方案将不起作用。