找到php字符串的最后一个字符

时间:2015-03-26 12:06:08

标签: php regex

我有一个像下面这样的字符串。

$string = "2346#$ABSC$%#@#234567";

现在我希望这个字符串中的最后一个字符不是数字或特殊字符,它应该只是A-a到Z-z。

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

我试过这个公式:

 substr($string, -1);

3 个答案:

答案 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]*$