Skip to main content
Participant
March 28, 2008
Answered

replace only 5 th occurance in the string

  • March 28, 2008
  • 1 reply
  • 351 views
Replace & ReplaceAll replaces string with other string but I want to only replace say fifth occurrence of '<a id=Anchor' with '<a style="....."'. First, second & other occurrences of <a should not be replaced. Any suggestions?
thanks
This topic has been closed for replies.
Correct answer sankalpah
<cftry>
<cfset Highlight_MenuNo = 5>

<cfset MenuHtml = LeftMenuHtml>

<cfset CountVar = 1>
<cfset StartPos = 1>
<cfset Posi = 1>
<cfloop condition="CountVar LESS THAN OR EQUAL TO Highlight_MenuNo">
<cfset CountVar = CountVar + 1>

<cfset Posi = Find('color:HighLightMe;', MenuHtml, StartPos)>
<cfset StartPos = Posi + 18>
</cfloop>
<cfcatch>error in startPos</cfcatch></cftry>


<cfoutput>#Left(LeftMenuHtml,Evaluate('StartPos -19'))#color:##88ab2e;border:0px;#Right(LeftMenuHtml,Evaluate('Len(LeftMenuHtml) - StartPos'))#</cfoutput>

1 reply

Participating Frequently
March 28, 2008
Find the fifth and make a single replace. :)
sankalpahAuthorCorrect answer
Participant
March 28, 2008
<cftry>
<cfset Highlight_MenuNo = 5>

<cfset MenuHtml = LeftMenuHtml>

<cfset CountVar = 1>
<cfset StartPos = 1>
<cfset Posi = 1>
<cfloop condition="CountVar LESS THAN OR EQUAL TO Highlight_MenuNo">
<cfset CountVar = CountVar + 1>

<cfset Posi = Find('color:HighLightMe;', MenuHtml, StartPos)>
<cfset StartPos = Posi + 18>
</cfloop>
<cfcatch>error in startPos</cfcatch></cftry>


<cfoutput>#Left(LeftMenuHtml,Evaluate('StartPos -19'))#color:##88ab2e;border:0px;#Right(LeftMenuHtml,Evaluate('Len(LeftMenuHtml) - StartPos'))#</cfoutput>