我试图用\ t替换文本文件中的所有空格,以便我可以将内容加载到SQL中。我遇到的问题是我只想在包含空格和其他字符混合的字符串之前替换空格。
在:
1.5e-61 5.3e-58 132 0.99 # 3 # 398 # -1 # ID=6412_1;partial=11;start_type=Edge;rbs_motif=None;rbs_spacer=None;gc_cont=0.394
后:
1.5e-61\t5.3e-58\t132\t0.99\t# 3 # 398 # -1 # ID=6412_1;partial=11;start_type=Edge;rbs_motif=None;rbs_spacer=None;gc_cont=0.394
我基本上希望将#字符后的所有内容保留为字符串。有人可以帮忙吗?
答案 0 :(得分:1)
解析,处理,撰写。
while (<>) {
chomp;
my ($data, $comment) = split(/(?=#)/, $_, 2);
$data =~ s/\s+/\\t/g;
print($data, $comment, "\n");
}