Count occurrences of a substring: Difference between revisions
Content added Content deleted
m (→{{header|PHP}}: Avoiding "?>" at the end of your source file makes extra whitespace to appear less likely.) |
(→{{header|Prolog}}: version using DCG) |
||
Line 2,055: | Line 2,055: | ||
X = 2. |
X = 2. |
||
</lang> |
</lang> |
||
=== version using DCG === |
|||
{{works with|SWI-Prolog|7.6.4}} |
|||
<lang prolog> |
|||
:- system:set_prolog_flag(double_quotes,chars) . |
|||
occurrences(TARGETz0,SUBSTRINGz0,COUNT) |
|||
:- |
|||
prolog:phrase(occurrences(SUBSTRINGz0,0,COUNT),TARGETz0) |
|||
. |
|||
occurrences("",_,_) |
|||
--> |
|||
! , |
|||
{ false } |
|||
. |
|||
occurrences(SUBSTRINGz0,COUNT0,COUNT) |
|||
--> |
|||
SUBSTRINGz0 , |
|||
! , |
|||
{ COUNT1 is COUNT0 + 1 } , |
|||
occurrences(SUBSTRINGz0,COUNT1,COUNT) |
|||
. |
|||
occurrences(SUBSTRINGz0,COUNT0,COUNT) |
|||
--> |
|||
[_] , |
|||
! , |
|||
occurrences(SUBSTRINGz0,COUNT0,COUNT) |
|||
. |
|||
occurrences(_SUBSTRINGz0_,COUNT,COUNT) |
|||
--> |
|||
! |
|||
. |
|||
</lang> |
|||
{{out}} |
|||
<pre> |
|||
/* |
|||
?- occurrences("the three truths","th",COUNT) . |
|||
COUNT = 3. |
|||
?- occurrences("the three truths","",COUNT) . |
|||
false . |
|||
?- occurrences("ababababab","abab",COUNT) . |
|||
COUNT = 2. |
|||
?- occurrences("ababababab","",COUNT) . |
|||
false . |
|||
?- |
|||
*/ |
|||
</pre> |
|||
=={{header|PureBasic}}== |
=={{header|PureBasic}}== |