我有一些像
这样的字符串Shp 1,737 Plenty Rd, Mill Park VIC 3082
560 High St, Preston VIC 3072
217 Mickleham Rd, Tullamarine VIC 3043
从这些我需要“VIC”。任何人都可以帮我找到使用正则表达式或php字符串函数
的解决方案这是从excel表中读取的实际字符串...我希望这些字符串中的州名称,如 NSW,ACT,VIC 等
答案 0 :(得分:3)
如果它始终是倒数第二个,只需将空格上的字符串拆分并取倒数第二个元素。
答案 1 :(得分:3)
preg_match_all('/(?P<state>[A-Z]{2,3})\s\d{4}$/m', $str, $matches);
var_dump($matches['state']);
array(3) {
[0]=>
string(3) "VIC"
[1]=>
string(3) "VIC"
[2]=>
string(3) "VIC"
}
这在多行模式下使用正则表达式来匹配空白字符和4位数邮政编码之前的2或3个大写字母。
我称之为state
,因为我住在澳大利亚,这些都是澳大利亚州:)
答案 2 :(得分:0)
为了得到它的价值:
$getvic = substr($myString,-8,-7);
刚刚获得VIC:
$getvic = substr($myString,-8,-2);