如何删除或替换字符串中的括号?

How to remove or replace brackets in a string?

my $book = Spreadsheet::Read->new();
my $book = ReadData 
('D:\Profiles\jmahroof\Desktop\Scheduled_Build_Overview.xls');
my $cell = "CD7";
my $n = "1";
my $send = $book->[$n]{$cell};

上面的代码从电子表格中获取数据,然后打印我知道其中有文本的单元格的内容。它的文本格式如下:text(text)

我需要用空 space 替换左括号,我需要删除右括号。我已经尝试用下面的代码用开括号代替空的 space 但是它似乎不起作用。

$send =~ s/(/ /g;
print $send;

括号被视为代码的一部分,只需将其转义即可。

$send =~ s/\(/ /;
print $send;

由于您只用一个字符替换另一个字符,因此您不需要替换,而是音译。那就是 tr/// function in Perl。由于该模式只是一个字符列表,而不是实际的正则表达式,因此您不需要转义左括号 (。也没有 /g 标志。它只是替换所有出现的地方。

$send =~ tr/(/ /;

与正则表达式替换的主要区别是音译在编译时编译,而不是运行时 ].这使得 tr///s/// 更快,尤其是在循环中。

参见full documentation in perlop