逗号分隔的字符串与正则表达式匹配并分开(查找和替换/ preg_replace)

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

我有一个清单:

cat, dog, duck

我想从这个列表中获取单词并单独存储它们。所以:

cat
dog
duck

我尝试了这个正则表达式,但它对我来说不能正常工作:([^,]+) https://www.regextester.com/108606

问题是我听不懂单词,我只听懂逗号,这个:

,,

以基于 php 的 preg_replace 方式工作的软件需要它。这是我的使用方法:

查找:([^,]+)

替换:留空

你能帮助我使用正确的正则表达式来从逗号分隔的列表中单独获取单词并单独存储它们吗?我在网上搜索了(我没有得到)但找不到解决方案。

php regex preg-replace
1个回答
0
投票

尝试这样的事情,

1:

$str = 'cat, dog, duck';
$splitted = preg_split('~(,\s*)~', $str);

var_export($splitted);

签出:preg-split()

2:

$str = 'cat, dog, duck';

$split = explode(',', $str);
$split = array_map( // Removes Starting Whitespace
    function($v) {
        return ltrim($v);
    }, $split); 

var_export($split);

签出:explode()array_map()

所有这些都还删除了

,
后面的空格。因此,您可以获得所需的精确输出。

输出,

array (
  0 => 'cat',
  1 => 'dog',
  2 => 'duck',
)
© www.soinside.com 2019 - 2024. All rights reserved.