通过一个或多个空格或制表符分解字符串

Dar*_*der 133 php regex explode

如何通过一个或多个空格或制表符爆炸字符串?

例:

A      B      C      D
Run Code Online (Sandbox Code Playgroud)

我想把它变成一个数组.

Ben*_*mes 301

$parts = preg_split('/\s+/', $str);
Run Code Online (Sandbox Code Playgroud)

  • $ parts最后一个元素将为空.所以删除它array_pop($ parts); (4认同)
  • 除了删除最后一个可能为空的部分,可以使用:```$ parts = preg_split('/ \ s + /',$ str,-1,PREG_SPLIT_NO_EMPTY);``` (3认同)

Ali*_*vci 47

要按标签分隔:

$comp = preg_split("/[\t]/", $var);
Run Code Online (Sandbox Code Playgroud)

要按空格/制表符/换行符分隔:

$comp = preg_split('/\s+/', $var);
Run Code Online (Sandbox Code Playgroud)

单独用空格分隔:

$comp = preg_split('/ +/', $var);

  • 要添加到此 `preg_split('/\s{2,}/', $var);` 需要至少两个空格, (2认同)

sch*_*eck 22

这有效:

$string = 'A   B C          D';
$arr = preg_split('/[\s]+/', $string);
Run Code Online (Sandbox Code Playgroud)


luc*_*san 17

作者要求爆炸,你可以使用这样的爆炸

$resultArray = explode("\t", $inputString);

注意:您必须使用双引号,而不是单引号.

  • 但他要求"空格或标签",这只会爆炸标签. (4认同)
  • 我也来这里寻找爆炸空间。对此我内心深处感到难过。 (3认同)
  • 我总是很伤心地看到可证明不正确的答案被投票到社区无法删除的地步。 (2认同)

jhe*_*ngs 10

我想你想要preg_split:

$input = "A  B C   D";
$words = preg_split('/\s+/', $input);
var_dump($words);
Run Code Online (Sandbox Code Playgroud)


Bri*_*oth 6

而不是使用explode,尝试preg_split:http://www.php.net/manual/en/function.preg-split.php