如何删除或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中的完整文档 。