首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将分隔的表文本转换为数组。去掉两个以上的空间

问将分隔的表文本转换为数组。去掉两个以上的空间
EN

Stack Overflow用户
提问于 2019-07-25 11:53:08
回答 1查看 22关注 0票数 0

我正在寻找一种将下面的字符串转换为数组的方法

​

我试过这样的方法:

代码语言:javascript
复制
$myArray = [];
    $lines = explode(PHP_EOL, $text);
    $l = 0;
    foreach($lines as $line) {
        //$myArray[$l] = array_map('trim', explode("                  ", $line));
        //$myArray[$l] = preg_split("/\s*[" . preg_quote(implode("", array(' ')), "/") . "]+\s*/", $line);
        $myArray[$l] = preg_split('/[    ,]/', $line, null, PREG_SPLIT_NO_EMPTY);  // or '/ |,/'
        $l++;
    }

    dd($myArray);

但是,所有这些都只是在数组之间去掉有空格的单词。我希望系统重新划分超过2个空间,并使用它作为一个分割和修剪其余的空间。

我在堆栈溢出网站上找不到类似的问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-25 11:59:39

使用"/\s{2,}/"至少使用两个空格拆分:

代码语言:javascript
复制
$str = "hello world   so much space around me, and even tabs         a b c  final part";
var_dump(preg_split("/\s{2,}/", $str));

产出:

代码语言:javascript
复制
array(4) {
  [0]=>
  string(11) "hello world"
  [1]=>
  string(38) "so much space around me, and even tabs"
  [2]=>
  string(5) "a b c"
  [3]=>
  string(10) "final part"
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57201368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档