首页 > 解决方案 > 在 perl 中将空格或逗号分隔的字符串拆分为列表

问题描述

案例:我有一个字符串$str = "a, b , c" 如何拆分字符串以获取列表?我能想出的拆分表达式是:

  1. split('[,\s]+', $str)
  2. split(/,/, $techoptionGiven);

期望的行为@array = [abc]

标签: perlsplit

解决方案


您的第一个选项似乎有效:

#!/usr/bin/perl

use strict;
use warnings;
use feature 'say';

use Data::Dumper;

my $str = "a, b , c";

say Dumper split('[,\s]+', $str);

输出:

$VAR1 = 'a';
$VAR2 = 'b';
$VAR3 = 'c';

就个人而言,我想强调一个事实,即第一个参数split()是一个正则表达式,而不是一个字符串。

say Dumper split(/[,\s]+/, $str);

推荐阅读