我有以下正则表达式
[^|]+(|[^|]+){15}
以下行
| 1 | 2567 | Алма-атинська(І) вул. | 2 | 2 |5678 |Типовий лічил-|Санвузол | 15.12.2016 | 10.11.2016 | 10.11.2020 | 23.10.2017 | | 43.00 |bot |
它的工作正常,我在' |'之间得到了所有文字,但是如何为这些匹配传递任何字符串?例如,修剪所有退格,或删除一些子环。
答案 0 :(得分:0)
您可以explode()
,然后trim()
删除其他空格等。最后使用array_filter
从数组中删除空白值:
$str = '| 1 | 2567 | Алма-атинська(І) вул. | 2 | 2 |5678 |Типовий лічил-|Санвузол | 15.12.2016 | 10.11.2016 | 10.11.2020 | 23.10.2017 | | 43.00 |bot |';
$arr = array_filter(array_map(function($value){return trim($value);},explode('|', $str)));
print_r($arr);
输出:
Array ( [1] => 1 [2] => 2567 [3] => Алма-атинська(І) вул. [4] => 2 [5] => 2 [6] => 5678 [7] => Типовий лічил- [8] => Санвузол [9] => 15.12.2016 [10] => 10.11.2016 [11] => 10.11.2020 [12] => 23.10.2017 [14] => 43.00 [15] => bot )