<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.slicer.org/w/index.php?action=history&amp;feed=atom&amp;title=Template%3AStrfind_short</id>
	<title>Template:Strfind short - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.slicer.org/w/index.php?action=history&amp;feed=atom&amp;title=Template%3AStrfind_short"/>
	<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Template:Strfind_short&amp;action=history"/>
	<updated>2026-04-14T11:00:02Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Template:Strfind_short&amp;diff=21176&amp;oldid=prev</id>
		<title>JChris.FillionR: Created page with '&lt;noinclude&gt;&lt;!-- -============================================================= - Strfind_short - Find a string within another string fast -=======================================…'</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Template:Strfind_short&amp;diff=21176&amp;oldid=prev"/>
		<updated>2011-08-25T06:07:51Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;#039;&amp;lt;noinclude&amp;gt;&amp;lt;!-- -============================================================= - Strfind_short - Find a string within another string fast -=======================================…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
-=============================================================&lt;br /&gt;
- Strfind_short - Find a string within another string fast&lt;br /&gt;
-=============================================================&lt;br /&gt;
-                                  (see NOTES at bottom)&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#expr: 0{{&lt;br /&gt;
  #ifeq:{{padleft:|{{#expr: {{{3|7}}}+1}}|-{{{1}}} }}^|-{{{2|{{{1}}}}}}^|1+0*}}{{&lt;br /&gt;
  #ifeq:{{padleft:|{{#expr: {{{3|7}}}+2}}|-{{{1}}} }}^|{{padleft:|2|-{{{1}}} }}{{{2}}}^|2+0*}}{{&lt;br /&gt;
  #ifeq:{{padleft:|{{#expr: {{{3|7}}}+3}}|-{{{1}}} }}^|{{padleft:|3|-{{{1}}} }}{{{2}}}^|3+0*}}{{&lt;br /&gt;
  #ifeq:{{padleft:|{{#expr: {{{3|7}}}+4}}|-{{{1}}} }}^|{{padleft:|4|-{{{1}}} }}{{{2}}}^|4+0*}}{{&lt;br /&gt;
  #ifeq:{{padleft:|{{#expr: {{{3|7}}}+5}}|-{{{1}}} }}^|{{padleft:|5|-{{{1}}} }}{{{2}}}^|5+0*}}{{&lt;br /&gt;
  #ifeq:{{padleft:|{{#expr: {{{3|7}}}+6}}|-{{{1}}} }}^|{{padleft:|6|-{{{1}}} }}{{{2}}}^|6+0*}}{{&lt;br /&gt;
  #ifeq:{{padleft:|{{#expr: {{{3|7}}}+7}}|-{{{1}}} }}^|{{padleft:|7|-{{{1}}} }}{{{2}}}^|7+0*}}{{&lt;br /&gt;
  #ifeq:{{padleft:|{{#expr: {{{3|7}}}+8}}|-{{{1}}} }}^|{{padleft:|8|-{{{1}}} }}{{{2}}}^|8+0*}}{{&lt;br /&gt;
  #ifeq:{{padleft:|{{#expr: {{{3|7}}}+9}}|-{{{1}}} }}^|{{padleft:|9|-{{{1}}} }}{{{2}}}^|9+0*}}{{&lt;br /&gt;
  #ifeq:{{padleft:|{{#expr: {{{3|7}}}+10}}|-{{{1}}} }}^|{{padleft:|10|-{{{1}}} }}{{{2}}}^|10+0*}}&amp;lt;!--&lt;br /&gt;
----------------------------- Check to skip lengths &amp;gt; 10&lt;br /&gt;
--&amp;gt;{{#ifexpr: {{{lenstr|15}}}+{{{3|1}}}-1 &amp;gt; 10 |{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3|7}}}+11}}|-{{{1}}} }}^|{{padleft:|11|-{{{1}}} }}{{{2}}}^|11+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3|7}}}+12}}|-{{{1}}} }}^|{{padleft:|12|-{{{1}}} }}{{{2}}}^|12+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3|7}}}+13}}|-{{{1}}} }}^|{{padleft:|13|-{{{1}}} }}{{{2}}}^|13+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3|7}}}+14}}|-{{{1}}} }}^|{{padleft:|14|-{{{1}}} }}{{{2}}}^|14+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3|7}}}+15}}|-{{{1}}} }}^|{{padleft:|15|-{{{1}}} }}{{{2}}}^|15+0*}} }}&amp;lt;!--&lt;br /&gt;
----------------------------- Check to skip lengths &amp;gt; 15&lt;br /&gt;
--&amp;gt;{{#ifexpr: {{{lenstr|15}}}+{{{3|1}}}-1 &amp;gt; 15 |{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+16}}|-{{{1}}} }}^|{{padleft:|16|-{{{1}}} }}{{{2}}}^|16+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+17}}|-{{{1}}} }}^|{{padleft:|17|-{{{1}}} }}{{{2}}}^|17+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+18}}|-{{{1}}} }}^|{{padleft:|18|-{{{1}}} }}{{{2}}}^|18+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+19}}|-{{{1}}} }}^|{{padleft:|19|-{{{1}}} }}{{{2}}}^|19+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+20}}|-{{{1}}} }}^|{{padleft:|20|-{{{1}}} }}{{{2}}}^|20+0*}} }}&amp;lt;!--&lt;br /&gt;
----------------------------- Check to skip lengths &amp;gt; 20&lt;br /&gt;
--&amp;gt;{{#ifexpr: {{{lenstr|15}}}+{{{3|1}}}-1 &amp;gt; 20 |{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+21}}|-{{{1}}} }}^|{{padleft:|21|-{{{1}}} }}{{{2}}}^|21+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+22}}|-{{{1}}} }}^|{{padleft:|22|-{{{1}}} }}{{{2}}}^|22+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+23}}|-{{{1}}} }}^|{{padleft:|23|-{{{1}}} }}{{{2}}}^|23+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+24}}|-{{{1}}} }}^|{{padleft:|24|-{{{1}}} }}{{{2}}}^|24+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+25}}|-{{{1}}} }}^|{{padleft:|25|-{{{1}}} }}{{{2}}}^|25+0*}} }}&amp;lt;!--&lt;br /&gt;
----------------------------- Check to skip lengths &amp;gt; 25&lt;br /&gt;
--&amp;gt;{{#ifexpr: {{{lenstr|15}}}+{{{3|1}}}-1 &amp;gt; 25 |{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+26}}|-{{{1}}} }}^|{{padleft:|26|-{{{1}}} }}{{{2}}}^|26+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+27}}|-{{{1}}} }}^|{{padleft:|27|-{{{1}}} }}{{{2}}}^|27+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+28}}|-{{{1}}} }}^|{{padleft:|28|-{{{1}}} }}{{{2}}}^|28+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+29}}|-{{{1}}} }}^|{{padleft:|29|-{{{1}}} }}{{{2}}}^|29+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+30}}|-{{{1}}} }}^|{{padleft:|30|-{{{1}}} }}{{{2}}}^|30+0*}} }}&amp;lt;!--&lt;br /&gt;
----------------------------- Check to skip lengths &amp;gt; 30&lt;br /&gt;
--&amp;gt;{{#ifexpr: {{{lenstr|15}}}+{{{3|1}}}-1 &amp;gt; 30 |{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+31}}|-{{{1}}} }}^|{{padleft:|31|-{{{1}}} }}{{{2}}}^|31+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+32}}|-{{{1}}} }}^|{{padleft:|32|-{{{1}}} }}{{{2}}}^|32+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+33}}|-{{{1}}} }}^|{{padleft:|33|-{{{1}}} }}{{{2}}}^|33+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+34}}|-{{{1}}} }}^|{{padleft:|34|-{{{1}}} }}{{{2}}}^|34+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+35}}|-{{{1}}} }}^|{{padleft:|35|-{{{1}}} }}{{{2}}}^|35+0*}} }}&amp;lt;!--&lt;br /&gt;
----------------------------- Check to skip lengths &amp;gt; 35&lt;br /&gt;
--&amp;gt;{{#ifexpr: {{{lenstr|15}}}+{{{3|1}}}-1 &amp;gt; 35 |{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+36}}|-{{{1}}} }}^|{{padleft:|36|-{{{1}}} }}{{{2}}}^|36+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+37}}|-{{{1}}} }}^|{{padleft:|37|-{{{1}}} }}{{{2}}}^|37+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+38}}|-{{{1}}} }}^|{{padleft:|38|-{{{1}}} }}{{{2}}}^|38+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+39}}|-{{{1}}} }}^|{{padleft:|39|-{{{1}}} }}{{{2}}}^|39+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+40}}|-{{{1}}} }}^|{{padleft:|40|-{{{1}}} }}{{{2}}}^|40+0*}} }}&amp;lt;!--&lt;br /&gt;
----------------------------- Check to skip lengths &amp;gt; 40&lt;br /&gt;
--&amp;gt;{{#ifexpr: {{{lenstr|15}}}+{{{3|1}}}-1 &amp;gt; 40 |{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+41}}|-{{{1}}} }}^|{{padleft:|41|-{{{1}}} }}{{{2}}}^|41+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+42}}|-{{{1}}} }}^|{{padleft:|42|-{{{1}}} }}{{{2}}}^|42+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+43}}|-{{{1}}} }}^|{{padleft:|43|-{{{1}}} }}{{{2}}}^|43+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+44}}|-{{{1}}} }}^|{{padleft:|44|-{{{1}}} }}{{{2}}}^|44+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+45}}|-{{{1}}} }}^|{{padleft:|45|-{{{1}}} }}{{{2}}}^|45+0*}} }}&amp;lt;!--&lt;br /&gt;
---------------------- Check to skip lengths &amp;gt; 45&lt;br /&gt;
--&amp;gt;{{#ifexpr: {{{lenstr|15}}}+{{{3|1}}}-1 &amp;gt; 45 |{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+46}}|-{{{1}}} }}^|{{padleft:|46|-{{{1}}} }}{{{2}}}^|46+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+47}}|-{{{1}}} }}^|{{padleft:|47|-{{{1}}} }}{{{2}}}^|47+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+48}}|-{{{1}}} }}^|{{padleft:|48|-{{{1}}} }}{{{2}}}^|48+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+49}}|-{{{1}}} }}^|{{padleft:|49|-{{{1}}} }}{{{2}}}^|49+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+50}}|-{{{1}}} }}^|{{padleft:|50|-{{{1}}} }}{{{2}}}^|50+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+51}}|-{{{1}}} }}^|{{padleft:|51|-{{{1}}} }}{{{2}}}^|51+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+52}}|-{{{1}}} }}^|{{padleft:|52|-{{{1}}} }}{{{2}}}^|52+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+53}}|-{{{1}}} }}^|{{padleft:|53|-{{{1}}} }}{{{2}}}^|53+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+54}}|-{{{1}}} }}^|{{padleft:|54|-{{{1}}} }}{{{2}}}^|54+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+55}}|-{{{1}}} }}^|{{padleft:|55|-{{{1}}} }}{{{2}}}^|55+0*}} }}&amp;lt;!--&lt;br /&gt;
---------------------- Check to skip lengths &amp;gt; 55&lt;br /&gt;
--&amp;gt;{{#ifexpr: {{{lenstr|15}}} &amp;gt; 55 |{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+56}}|-{{{1}}} }}^|{{padleft:|56|-{{{1}}} }}{{{2}}}^|56+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+57}}|-{{{1}}} }}^|{{padleft:|57|-{{{1}}} }}{{{2}}}^|57+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+58}}|-{{{1}}} }}^|{{padleft:|58|-{{{1}}} }}{{{2}}}^|58+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+59}}|-{{{1}}} }}^|{{padleft:|59|-{{{1}}} }}{{{2}}}^|59+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+60}}|-{{{1}}} }}^|{{padleft:|60|-{{{1}}} }}{{{2}}}^|60+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+61}}|-{{{1}}} }}^|{{padleft:|61|-{{{1}}} }}{{{2}}}^|61+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+62}}|-{{{1}}} }}^|{{padleft:|62|-{{{1}}} }}{{{2}}}^|62+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+63}}|-{{{1}}} }}^|{{padleft:|63|-{{{1}}} }}{{{2}}}^|63+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+64}}|-{{{1}}} }}^|{{padleft:|64|-{{{1}}} }}{{{2}}}^|64+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+65}}|-{{{1}}} }}^|{{padleft:|65|-{{{1}}} }}{{{2}}}^|65+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+66}}|-{{{1}}} }}^|{{padleft:|66|-{{{1}}} }}{{{2}}}^|66+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+67}}|-{{{1}}} }}^|{{padleft:|67|-{{{1}}} }}{{{2}}}^|67+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+68}}|-{{{1}}} }}^|{{padleft:|68|-{{{1}}} }}{{{2}}}^|68+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+69}}|-{{{1}}} }}^|{{padleft:|69|-{{{1}}} }}{{{2}}}^|69+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+70}}|-{{{1}}} }}^|{{padleft:|70|-{{{1}}} }}{{{2}}}^|70+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+71}}|-{{{1}}} }}^|{{padleft:|71|-{{{1}}} }}{{{2}}}^|71+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+72}}|-{{{1}}} }}^|{{padleft:|72|-{{{1}}} }}{{{2}}}^|72+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+73}}|-{{{1}}} }}^|{{padleft:|73|-{{{1}}} }}{{{2}}}^|73+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+74}}|-{{{1}}} }}^|{{padleft:|74|-{{{1}}} }}{{{2}}}^|74+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+75}}|-{{{1}}} }}^|{{padleft:|75|-{{{1}}} }}{{{2}}}^|75+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+76}}|-{{{1}}} }}^|{{padleft:|76|-{{{1}}} }}{{{2}}}^|76+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+77}}|-{{{1}}} }}^|{{padleft:|77|-{{{1}}} }}{{{2}}}^|77+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+78}}|-{{{1}}} }}^|{{padleft:|78|-{{{1}}} }}{{{2}}}^|78+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+79}}|-{{{1}}} }}^|{{padleft:|79|-{{{1}}} }}{{{2}}}^|79+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+80}}|-{{{1}}} }}^|{{padleft:|80|-{{{1}}} }}{{{2}}}^|80+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+81}}|-{{{1}}} }}^|{{padleft:|81|-{{{1}}} }}{{{2}}}^|81+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+82}}|-{{{1}}} }}^|{{padleft:|82|-{{{1}}} }}{{{2}}}^|82+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+83}}|-{{{1}}} }}^|{{padleft:|83|-{{{1}}} }}{{{2}}}^|83+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+84}}|-{{{1}}} }}^|{{padleft:|84|-{{{1}}} }}{{{2}}}^|84+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+85}}|-{{{1}}} }}^|{{padleft:|85|-{{{1}}} }}{{{2}}}^|85+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+86}}|-{{{1}}} }}^|{{padleft:|86|-{{{1}}} }}{{{2}}}^|86+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+87}}|-{{{1}}} }}^|{{padleft:|87|-{{{1}}} }}{{{2}}}^|87+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+88}}|-{{{1}}} }}^|{{padleft:|88|-{{{1}}} }}{{{2}}}^|88+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+89}}|-{{{1}}} }}^|{{padleft:|89|-{{{1}}} }}{{{2}}}^|89+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+90}}|-{{{1}}} }}^|{{padleft:|90|-{{{1}}} }}{{{2}}}^|90+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+91}}|-{{{1}}} }}^|{{padleft:|91|-{{{1}}} }}{{{2}}}^|91+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+92}}|-{{{1}}} }}^|{{padleft:|92|-{{{1}}} }}{{{2}}}^|92+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+93}}|-{{{1}}} }}^|{{padleft:|93|-{{{1}}} }}{{{2}}}^|93+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+94}}|-{{{1}}} }}^|{{padleft:|94|-{{{1}}} }}{{{2}}}^|94+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+95}}|-{{{1}}} }}^|{{padleft:|95|-{{{1}}} }}{{{2}}}^|95+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+96}}|-{{{1}}} }}^|{{padleft:|96|-{{{1}}} }}{{{2}}}^|96+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+97}}|-{{{1}}} }}^|{{padleft:|97|-{{{1}}} }}{{{2}}}^|97+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+98}}|-{{{1}}} }}^|{{padleft:|98|-{{{1}}} }}{{{2}}}^|98+0*}}{{&lt;br /&gt;
    #ifeq:{{padleft:|{{#expr: {{{3}}}+99}}|-{{{1}}} }}^|{{padleft:|99|-{{{1}}} }}{{{2}}}^|99+0*}}&lt;br /&gt;
}}0}}&amp;lt;noinclude&amp;gt;&amp;lt;!--endif lenstr &amp;gt; 55, with &amp;quot;0&amp;quot; &amp;amp; endexpr&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
--NOTES&lt;br /&gt;
--    [ These comments are skipped by &amp;lt;noinclude&amp;gt; so they will&lt;br /&gt;
--      be omitted &amp;amp; not sent in a formatted Internet page. ]&lt;br /&gt;
--&lt;br /&gt;
-- NOTE A1: This template searches inside base string {1}, up&lt;br /&gt;
--      to length {lenstr}, to match string {2} of length {3},&lt;br /&gt;
--      as an embedded substring. In various groups, limited by&lt;br /&gt;
--      {lenstr}, it compares string {1} truncated '{3}+n' long&lt;br /&gt;
--      against both string {1} truncated to n with string {2}&lt;br /&gt;
--      appended, in the comparison.&lt;br /&gt;
--&lt;br /&gt;
-- NOTE N2: This template was designed to use minimal levels&lt;br /&gt;
--      as 5, to avoid the &amp;quot;expansion depth limit&amp;quot; when used&lt;br /&gt;
--      in very large templates. By comparison, {str_find}&lt;br /&gt;
--      was using over 18 levels of 40 total, during 2010.&lt;br /&gt;
--&lt;br /&gt;
-- NOTE S3: The speed of search depends on the length parameter&lt;br /&gt;
--      {lenstr}, where lenstr &amp;gt; 10 will start #2 of 9 phases&lt;br /&gt;
--      of comparisons, because 16% of strings are &amp;lt; 11 long:&lt;br /&gt;
--      lenstr &amp;gt; 10 will search the 84% of strings over 10 long,&lt;br /&gt;
--      lenstr &amp;gt; 15 will search the 58% of strings over 15 long,&lt;br /&gt;
--      lenstr &amp;gt; 20 will search the 32% of strings over 20,&lt;br /&gt;
--      lenstr &amp;gt; 25 will search the 16% of strings over 25,&lt;br /&gt;
--      lenstr &amp;gt; 30 will search the 8% of strings over 30,&lt;br /&gt;
--      lenstr &amp;gt; 35 will search the 4% of strings over 35,&lt;br /&gt;
--      lenstr &amp;gt; 40 will search the 2% of strings over 40,&lt;br /&gt;
--      lenstr &amp;gt; 45 will search 1.1% of strings over 45 long,&lt;br /&gt;
--      lenstr &amp;gt; 55 searches rare 0.3% of strings over 55 long.&lt;br /&gt;
--      The exact check of length is {{{lenstr}}}+{{{3}}}-1 &amp;gt; n&lt;br /&gt;
--      to also stop if the search string is too long to match.&lt;br /&gt;
--&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
--HISTORY:&lt;br /&gt;
--28Dec10 Created to find a string in another by unnested logic.&lt;br /&gt;
--28Dec10 Put NOTES comments to explain template coding.&lt;br /&gt;
--28Dec10 Put HISTORY comments to log major changes (not typos).&lt;br /&gt;
--29Jan11 New {lenstr} for search 3x faster, stopping at length.&lt;br /&gt;
--29Jan11 Set default search up to 15 long but allow lenstr=99.&lt;br /&gt;
--31Jan11 Check lenstr &amp;gt; 55 to skip searching columns 56-99.&lt;br /&gt;
--05Feb11 Check lenstr &amp;gt; 10, 15, 20, 25, 30... as faster search.&lt;br /&gt;
--&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: http://en.wikipedia.org/wiki/Template:Strfind_short&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
The '''[[Template:Strfind_short]]''' finds the location, in parameter {1} with length lenstr=15 (up to 99), of the string {2} with length {3}, using a simple, quick method. If the string is not found, the result is zero (0), indicating no match. The parameter lenstr can be shorter than the actual 1st string, to stop the search earlier (and faster). The template was designed to use only 5 levels of expansion depth, rather than 18 or more levels as in other string-searching templates.&lt;br /&gt;
&lt;br /&gt;
:'''Usage:''' &amp;amp;nbsp;{&amp;amp;#123;'''strfind short'''|abcdef|bcd|3}} {{in5}} &amp;amp;rarr; {{str_find|abcdef|bcd|3}}&lt;br /&gt;
::: {&amp;amp;#123;'''strfind short'''|123456789.|45|2}} &amp;amp;rarr; {{strfind short|123456789.|45|2}}&lt;br /&gt;
::: {&amp;amp;#123;'''strfind short'''|x+2.437-6|2.43|4}} &amp;amp;rarr; {{strfind short|x+2.437-6|2.43|4}}&lt;br /&gt;
::: {&amp;amp;#123;'''strfind short'''|:***abcd**|*ab| {&amp;amp;#123;strlen_short|*ab}} }} &amp;amp;rarr; {{strfind short|:***abcd**|*ab| {{strlen_short|*ab}} }}&lt;br /&gt;
&lt;br /&gt;
If the length of the substring {2} is not known, or changes often, then the extra template {strlen_quick} can be used as: {&amp;amp;#123;strlen_quick|{&amp;amp;#123;{2}}}&amp;amp;nbsp;}}, to determine the length of string 2, quickly.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
The following are examples:&lt;br /&gt;
:* {&amp;amp;#123;strfind short|abcdef|bcd|3}} {{in5}} &amp;amp;rarr; {{strfind_short|abcdef|bcd|3}}&lt;br /&gt;
:* {&amp;amp;#123;strfind short|Fast Forward (film)|(|1}} {{in5}} &amp;amp;rarr; {{strfind_short|Fast Forward (film)|(|1}}&lt;br /&gt;
:* {&amp;amp;#123;strfind short|Fast Forward Longer (film)|(|1}} &amp;amp;rarr; {{strfind_short|Fast Forward Longer (film)|(|1}}&lt;br /&gt;
:* {&amp;amp;#123;strfind short|Fast Forward Longer (film)|(|1|lenstr=26}} &amp;amp;rarr; {{strfind_short|Fast Forward Longer (film)|(|1|lenstr=26}}&lt;br /&gt;
&lt;br /&gt;
:* {&amp;amp;#123;strfind short|A Funny Thing Happened on the Way to the Forum (film)|(|1|lenstr=53}} &amp;amp;rarr; {{strfind_short|A Funny Thing Happened on the Way to the Forum (film)|(|1|lenstr=53}}&lt;br /&gt;
&lt;br /&gt;
==Performance impact==&lt;br /&gt;
The operation of Template:Strfind_short was designed to run 4x times faster than other string-search templates; however, it typically runs 20x times faster (or shorter) for strings up to 15 characters long. The post-expand include size averages about 300 bytes (rather than 6,000 bytes for other string-search templates). It can be used over 5,000 times per page (compared to only 350 times for other search templates). For strings over 50 long, it will use more resources, due to processing strings larger than other templates had allowed.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* {{tl|Str find}} - searches strings, but with expansion depth of 18 or more&lt;br /&gt;
&lt;br /&gt;
[[Category:Templates|{{PAGENAME}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>JChris.FillionR</name></author>
		
	</entry>
</feed>