我想从字符串中提取'year',这是我的字符串
clerk_eng2009
和
clerk_23-eng-2009
我只需要2009年的结果
感谢。
答案 0 :(得分:4)
这应该适合你:
<?php
$str = "clerk_eng2009";
preg_match_all("/\d{4}$/", $str, $matches);
echo $matches[0][0];
?>
输出:
2009
答案 1 :(得分:1)
只需使用
$num = intval( substr($str, strlen($str) - 4, strlen($str)) );
就是这样。
在这个字符串中使用正则表达式(计算成本很高)没有意义。只提取最后四个字符然后使用intval()
评估为整数很简单。
编辑:
另一个选项(因为似乎所有值都由-
分隔)是分隔向量中的所有值,然后用年份提取一个:
$vector = explode( $str, "-");
$num = intval( $vector[2] ); // We use the third value, which is supposed to be the year