我有一些字符串作为:
€/£/$400
£/$/£400
€/$400
£/$400
$400
如何在这些数字之前获得货币单位,使用regex-PHP:
例如:
String0= "€/£/$400 + 50 free spins" -> Get €/£/$
String1= "€/£/$400" -> Get €/£/$
String2= "£/$/£400" -> Get £/$/£
String3= "€/$400" -> Get €/$
String4= "£/$400" -> Get £/$
String5= "$400" -> Get $
String5= "£400" -> Get £
Update: String6= "50 free spins" -> Get null;
我想用一个正则表达式函数来去除这个字符串就可以了。
我使用的是preg_match_all('/'D+/', $str, $matches);
,它显示货币单位可以,但现在我想在上面添加case:String6。请帮我改进一下。
只需使用preg_replace
:去掉所有数字
$repl = preg_replace('/'d+/', '', $input);
或者保留只允许的字符:
$repl = preg_replace('#[^€/£$]+#u', '', $input);
您可以使用正向前瞻:
<?php
$str = "€/£/$0400 + 50 free spins";
$matches = array();
if (preg_match('/(.*?)(?='d)/u', $str, $matches))
{
print $matches[1];
}
//output: €/£/$
$res = preg_replace('/(^[€'/£$]+).+/u', '$1', $input);