我想在“ - ”之后找到正好在第3个位置的字符串,如果找不到“ - ”则应该得到整个字符串。 样本数据
TT-people // get people
1V-NEWTET // get NEWTET
ZZ-YESforTHE // get YESforTHE
Computer // get Computer
T-Book // get T-Book
我试过
$result=preg_match_all("/^[a-zA-Z0-9]2-(\s\w*)/",$data,$networkID);
echo $networkID[0][1]
请纠正我的错误。
答案 0 :(得分:1)
[a-zA-Z0-9]2
这里的2
只匹配字符“2”。看起来你的意思是{2}
。
要反映您更新的问题,它应如下所示:
$result = preg_match_all('/^(?:[a-zA-Z0-9]{2}-)?(\s\w*)/', $data, $networkID);
echo $networkID[0][1];
?
使该组可选。
答案 1 :(得分:1)
如果单行可以做文本:
if(substr($string, 2, 1) === "-"){
echo substr($string, 3);
}else{
echo $string;
}