如何删除或replacestring中的括号?

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)

我需要用空的空间replace开放的支架,我需要删除紧密的支架。 我已经尝试了下面的代码来替代一个空的空间的开放括号,但它似乎并没有工作。

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

括号被视为代码的一部分,只是逃避它。

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

既然你只replace一个字符,你不需要replace,而是一个音译 。 这是Perl中的tr///函数 。 由于模式只是一个字符列表,而不是一个实际的正则expression式,所以你不需要跳过左括号( 。也没有/g标志,它只是代替所有的事件。

 $send =~ tr/(/ /; 

正则expression式replace的主要区别在于音译在编译时得到编译,而不是在运行时 编译 。 这使tr///s/// tr///更快,特别是在循环中。

请参阅perlop中的完整文档 。