Perl-Sensitive Sunglasses | |
PerlMonks |
How can I count the number of occurrences of a substring within a string?by faq_monk (Initiate) |
on Oct 08, 1999 at 00:20 UTC ( [id://600]=perlfaq nodetype: print w/replies, xml ) | Need Help?? |
Current Perl documentation can be found at perldoc.perl.org. Here is our local, out-dated (pre-5.6) version: There are a number of ways, with varying efficiency: If you want a count of a certain single character (X) within a string, you can use the tr/// function like so:
$string = "ThisXlineXhasXsomeXx'sXinXit": $count = ($string =~ tr/X//); print "There are $count X charcters in the string";
This is fine if you are just looking for a single character. However, if
you are trying to count multiple character substrings within a larger
string, tr/// won't work. What you can do is wrap a
$string = "-9 55 48 -2 23 -76 4 14 -44"; while ($string =~ /-d+/g) { $count++ } print "There are $count negative numbers in the string";
|
|