加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 将字符串拆分为标记并在Perl中存储分隔符

发布时间:2020-12-14 05:46:22 所属栏目:百科 来源:网络整理
导读:我有一个像这样的字符串: a b c d 我像这样处理我的字符串: chomp $line; my @tokens = split /s+/,$line; my @new_tokens; foreach my $token (@tokens) { push @new_tokens,some_complex_function( $token ); } my $new_str = join ' ',@tokens; 我想重
我有一个像这样的字符串:

a  b   c       d

我像这样处理我的字符串:

chomp $line;
    my @tokens = split /s+/,$line;
    my @new_tokens;
    foreach my $token (@tokens) {    
        push @new_tokens,some_complex_function( $token );
    }
    my $new_str = join ' ',@tokens;

我想重新加入原始空格的字符串.有什么方法可以存储分割的空白并在以后重新使用它?或者这会是一个巨大的痛苦?它主要是装饰性的,但我想保留输入字符串中的原始空格.

解决方法

如果使用带有捕获括号的正则表达式进行拆分,则拆分模式将包含在结果列表中(请参阅 perldoc -f split):

my @list = split /(s+)/,'a  b   c       d';
print Data::Dumper::Dumper(@list);

VAR1 = [
          'a','  ','b','   ','c','       ','d'
        ];

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读