具有以下字符串:
ABC,-0.5,10Y,10Y,['TEST'],ABC.1000145721ABC,-0.5,20Y,10Y,['TEST'],ABC.1000145722
重复数据。
我需要从数据中删除[]'字符,因此它看起来像这样:
ABC,-0.5,10Y,10Y,TEST,ABC.1000145721ABC,-0.5,20Y,10Y,TEST,ABC.1000145722
我也在尝试拆分数据以将其分配给变量,如下所示:
my($currency, $strike, $tenor, $tenor2,$ado_symbol) = split /,/, $_;
这适用于[[TEST]]部分以外的所有内容。我应该先删除[]'字符,然后保持拆分不变,还是有更简单的方法呢?
谢谢
有一点很有用,那就是-split
需要一个正则表达式。(它甚至可以让您捕获,但这会插入返回的列表中,这就是为什么我要(?:
针对非捕获组的原因)
我观察到您的数据仅['
在定界符旁边-那么如何:
#!/usr/bin/env perl
use strict;
use warnings;
use Data::Dumper;
while ( <DATA> ) {
chomp;
my @fields = split /(?:\'])?,(?:\[\')?/;
print Dumper \@fields;
}
__DATA__
ABC,-0.5,10Y,10Y,['TEST'],ABC.1000145721ABC,-0.5,20Y,10Y,['TEST'],ABC.1000145722
输出:
$VAR1 = [
'ABC',
'-0.5',
'10Y',
'10Y',
'TEST',
'ABC.1000145721ABC',
'-0.5',
'20Y',
'10Y',
'TEST',
'ABC.1000145722'
];
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句