Hi,
I have a feeling there is a much much succinct way of handling this.
In this example $val could be any number of digits between 1 and 8 with a comma separating every third; also, the text is found within a much larger piece of text (as opposed to the simple example used here).
I'm looking for a numeric value followed by " view" and then want to remove any commas.Thanks!
my $num_views = -1; my $val = "23,452,789 views"; if ($val =~ /([\d]*),([\d]*),([\d]*) views/) { $num_views = ($1 * 1000000) + ($2 * 1000) + $3; print "# Matched number of views [$num_views].\n"; } else { if ($val =~ /([\d]*),([\d]*) views/) { $num_views = ($1 * 1000) + $2; print "# Matched number of views [$num_views].\n"; } else { if ($val =~ /([\d]*) views/) { $num_views = $1; print "# Matched number of views [$num_views].\n"; } else { print "# Error.\n"; } } }
In reply to How to consolidate regex's? by BruceDB
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |