【问题标题】:How to insert space after every semicolon of a string in Perl?如何在 Perl 中字符串的每个分号后插入空格?
【发布时间】:2015-10-26 09:37:34
【问题描述】:

我试图在 Perl 中字符串的每个分号后插入一个空格。

#!/usr/bin/perl
use strict; use warnings;
my $string = "1234;5678;232;5774;9784";
$string =~ s/;/"; "/g;
my $matched = $1;
print $matched . "\n";

但它不起作用。我的字符串是1234;5678;232;5774;9784。我想打印1234; 5678; 232; 5774; 9784。谢谢

【问题讨论】:

  • 所以它只是再次打印出原始字符串?
  • 错误消息显示Use of uninitialized value $matched in concatenation (.) or string at...。正则表达式与字符串中的任何内容都不匹配。
  • print $string, "\n"; 添加到末尾,您将看到匹配已发生。没有发生的是捕获。

标签: regex string perl


【解决方案1】:

您想打印$string 而不是$matched。此外,您不需要正则表达式中的引号,除非您也想要它们。

#!/usr/bin/perl

use strict;
use warnings;

my $string = "1234;5678;232;5774;9784";
$string =~ s/;/; /g;
print "$string\n";

打印1234; 5678; 232; 5774; 9784

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-19
    • 2020-03-04
    • 2017-06-11
    • 1970-01-01
    • 1970-01-01
    • 2014-11-09
    • 1970-01-01
    相关资源
    最近更新 更多