我有一个来自excel的列,其中包含以下示例文本,我想用定界符将其分解。这是示例
params => method({ token: 'TOKEN FROM CONTEXT', ...params } as TParams)
,我需要用x分解它,我只需要第一个x之后的数字,即上面的17、18、19或20。我确实喜欢以下内容:
'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'
它给我17/1,18/2等等,但是在这种情况下,我只需要17或18
如果有人有好的解决方案,请在这里写。
答案 0 :(得分:1)
您可以使用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
如果只想使用explode
,只需在爆炸x
之后爆炸并取第一个值即可。
foreach ($strings as $str) {
$text = explode('x', $str, 2);
$text = explode(' ', $text[1]);
echo "$text[0]\n";
}