多次爆炸

问题描述 投票:-1回答:1

我有一个来自excel的列,其中包含以下示例文本,我想用定界符将其分解。这是示例

'ABC 11.0x17 / 1x4 / 2x4 XYZ'
'ABC 12.1x18 / 2x4 3x4 XYZ'
'ABC DEF 12.1x19 / 3x4 4x4 XYZ'
'ABC DEF GHI A1 13x20 / 3x4 / 4x4 XYZ'

并且我需要用x分解,我只需要第一个x之后的数字,从上面可以是17,18,19或20。我确实喜欢以下内容:

$text   = explode('x', $row[6]);
echo $text[1]; 

它给我17/1,18/2等等,但是在这种情况下,我只需要17或18

如果有人有好的解决方案,请在这里写。

php explode
1个回答
0
投票

您可以使用preg_match提取第一个preg_match之后的数字:

x

输出:

$strings = array(
    'ABC 11.0x17 / 1x4 2x4 XYZ',
    'ABC 12.1x18 / 2x4 3x4 XYZ',
    'ABC DEF 12.1x19 / 3x4 4x4 XYZ',
    'ABC DEF GHI A1 13x20 / 3x4 4x4 XYZ'
);

foreach ($strings as $str) {
    preg_match('/^[^x]+x(\d+)/', $str, $matches);
    echo $matches[1] . "\n";
}

17 18 19 20

© www.soinside.com 2019 - 2024. All rights reserved.