我有这个变量:
$var = "261202 31012TF 4444 RUFOK 15/18 Q5242 PARLO";
我想保存以Q(Q5242)开头的那部分变量
如何搜索此$ var并将其保存?我无法使用substr
,因为$var
的值总是在变化,并且总是在变量的另一个“位置”。
例如:
第一种情况:
$var = "261202 31012TF 4444 RUFOK 15/18 Q5242 PARLO";
第二种情况:
$var = "261202 31012TF Q5242 4444 RUFOK 15/18 PARLO";
谢谢您的帮助!
答案 0 :(得分:2)
$pattern = '/\bQ[^\s]+/'
将匹配从Q到空格的所有“单词”。
$pattern = '/\bQ\d{4}/'
会更加严格,匹配以Q开头且后跟4位数字的单词。
preg_match($pattern, $var, $matches);
可用于从字符串中提取匹配项。
答案 1 :(得分:2)
Substr和strpos解决方案。
代码注释。
$var = ["261202 31012TF 4444 RUFOK 15/18 Q5242 PARLO",
"261202 31012TF Q5242 4444 RUFOK 15/18 PARLO"];
foreach($var as $v){
$pos = strpos($v, "Q"); // find Q
// Echo substring from Q to next space
echo substr($v, $pos, strpos($v," ",$pos)-$pos) . "\n";
}