Я хочу заменить десятичные дроби с запятыми на полные остановки в файле, и я хотел попробовать сделать это в Perl.Пример моего набора данных выглядит примерно так:
Species_1:0,12, Species_2:0,23, Species_3:2,53
Я хочу подставить десятичные дроби, но не все запятые, чтобы:
Species_1:0.12, Species_2:0.23, Species_3:2.53
Я думал, что это может работать с использованием подстановкифункция такая:
$comma_file= "Species_1:0,12 , Species_2:0,23, Species_3:2,53"
$comma = "(:\d+/,\d)";
#match a colon, any digits after the colon, the wanted comma and digits preceding it
if ($comma_file =~ m/$comma/g) {
$comma_file =~ tr/,/./;
}
print "$comma_file\n";
Однако, когда я попробовал это, произошло то, что все мои запятые превратились в полные стопы, а не только те, на которые я нацеливался.Это проблема с регулярным выражением или я просто неправильно выполняю подстановку совпадений?
Спасибо!