繁体   English   中英

按空格分割字符串

[英]Split string by white-space

无论空格有多长,如何通过空格分割字符串?

例如,来自以下字符串:

"the    quick brown   fox        jumps   over  the lazy   dog"

我会得到一个数组

['the', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog'];

您可以使用正则表达式轻松完成此操作:

$string = 'the quick     brown fox      jumps 



over the 

lazy dog';


$words = preg_split('/\s+/', $string, -1, PREG_SPLIT_NO_EMPTY);

print_r($words);

这会产生以下输出:

Array
(
    [0] => the
    [1] => quick
    [2] => brown
    [3] => fox
    [4] => jumps
    [5] => over
    [6] => the
    [7] => lazy
    [8] => dog
)

使用正则表达式:

$str = "the      quick brown fox jumps over the lazy dog";
$a = preg_split("~\s+~",$str);
print_r($a);

请注意:我修改了您的字符串以在前两个单词之间包含大量空格,因为这是您想要的。

输出:

Array ( [0] => the [1] => quick [2] => brown [3] => fox [4] => jumps [5] => over [6] => the [7] => lazy [8] => dog ) 

这是如何工作的:

\\s+表示一个或多个空白字符。 它是分割字符串的分隔符。 请注意,PCRE 所指的“空白字符”不仅仅是按空格键获得的字符,还包括制表符、垂直制表符、回车符和换行符。 这应该非常适合您的目的。

参考

  1. 如需进一步阅读,您可能需要查看这些preg_split 示例
  2. preg_split 手册页

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM