我有以下字符串,需要将其剪成碎片。但是如何做到这一点呢?
字符串:$sting = 0nl10000143947019,23000143947456,....,10450143947022
...
意味着更多的nrs可以在这里
现在我想在以下部分中删除此字符串:
$first
包含字符串中的第一个nr或字母。所以在这种情况下应该是:0
$second
包含字符串中的第二个和第三个nrs或字母。所以在这种情况下应该是:nl
$third
包含字符串中第三个nr或字母后的所有内容。所以在这种情况下应该是:10000143947019,23000143947456,....,10450143947022
$fourth
包含字符串中最后一个,
之后的所有内容。注意,这个nr可以比这个例子更大或更小。所以在这种情况下应该是:10450143947022
希望这是可能的!
亲切的问候
答案 0 :(得分:3)
正则表达式应该这样做,这是让你入门的东西
preg_match("/^(\d+)([a-z]+)(.*?,([^,]*))$/i", $string, $m);
print_r($m);
见这里:
答案 1 :(得分:3)
使用简单的正则表达式
([0-9A-Za-z]{1})([0-9A-Za-z]{2})(.*)\,([^\,]+)$
应该有效。在PHP中,这将像
一样工作$string = "0nl10000143947019,23000143947456,23000143947456,10450143947022";
preg_match("@([0-9A-Za-z]{1})([0-9A-Za-z]{2})(.*)\,([^\,]+)$@i", $string, $matches);
// map $matches to the right variables. But you can do that yourself :-)
答案 2 :(得分:2)
尝试以下方法:
$first = substr($sting,0,1);
$second = substr($sting,1,2);
$third = substr($sting,3);
$fourth = end(explode(',',$sting));