
Jasmine
Administrator
Jan 19, 2001, 2:52 PM
Post #1 of 1
(1991 views)
|
|
How can I count the number of occurrences of a sub
|
Can't Post
|
|
(From the Perl FAQ) How can I count the number of occurrences of a substring within a string? 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 while() loop around a global pattern match. For example, let's count negative integers: $string = "-9 55 48 -2 23 -76 4 14 -44"; while ($string =~ /-\d+/g) { $count++ } print "There are $count negative numbers in the string";
|