我有一个像下面这样的字符串。
$string = "2346#$ABSC$%#@#234567";
现在我希望这个字符串中的最后一个字符不是数字或特殊字符,它应该只是A-a到Z-z。
意思是,我只需要这个字符串中的“C”。
我试过这个公式:
substr($string, -1);
答案 0 :(得分:2)
您应该使用类似preg_match()
这样的表达式将匹配:
/([a-z])[^a-z]*$/i
这意味着:
([a-z])
捕获a-z字符(最后i
使其不区分大小写)[^a-z]*$
后跟0个或更多非a-z字符,直到字符串请参阅an example。
答案 1 :(得分:0)
这应该适合你:
(这里我只用一个空字符串替换所有期望a-zA-Z
。之后我只访问最后一个字符)
<?php
$string = '2346#$ABSC$%#@#234567';
$string = preg_replace("/[^a-zA-Z]/", "", $string);
echo $string[strlen($string)-1];
?>
输出:
C
答案 2 :(得分:0)
正确的正则表达式是:([a-z])[^a-z]*$