TechnicallyChris.com

Technical and Personal Ramblings of a Bostonian
  • Home
  • About Chris
  • Donate
  • Contact Chris
Home > ColdFusion > Randomly Replace Words

Randomly Replace Words

September 5th, 2006
Goto comments Leave a comment

I wanted to share a script with everyone that I setup to help someone else randomly replace words in a string. This function will take a string (inputString), then replace occurances of oldKeyword with newKeyword, but not every single time, randomly.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<cffunction name="randomReplacement" output="true" returntype="string">
 <cfargument name="inputString" type="string" required="yes">
 <cfargument name="oldKeyword" type="string" required="yes">
 <cfargument name="newKeyword" type="string" required="yes">
 
 <cfset placeHolderNew = '**_NEW_**'>
 <cfset placeHolderOld = '**_OLD_**'>
 <cfset listDelims = ' ,.!?'>
 
 <cfset newString = inputString>
 
 <cfset findOldKeyword = 1>
 <cfloop condition="findOldKeyword gt 0">
  <cfset findOldKeyword = ListFindNoCase(newString, oldKeyword, listDelims)>
  <cfif findOldKeyword gt 0>
   <cfif RandRange(1,2) is 1>
    <cfset newString = ListSetAt(newString, findOldKeyword, placeHolderNew, listDelims)>
   <cfelse>
    <cfset newString = ListSetAt(newString, findOldKeyword, placeHolderOld, listDelims)>
   </cfif>
  </cfif>
 </cfloop>  
 
 <cfset newString = ReplaceNoCase(newString, placeHolderNew, newKeyword, 'ALL')>
 <cfset newString = ReplaceNoCase(newString, placeHolderOld, oldKeyword, 'ALL')>
 
 <cfreturn newString>
 
</cffunction>

You can test it by running this:

1
2
3
4
<cfloop index="i" from="1" to="30">
 <cfinvoke method="randomReplacement" inputString="My dog is brown, is your dog, sir?" oldKeyword="dog" newkeyword="cat" returnvariable="testing">
 <cfoutput>#testing#</cfoutput>
</cfloop>

The listDelims variable can be used to include characters that could be at the end of your word. Please comment if this code ever helps you out. Everyone is free to use it!

If you enjoyed this article or it helped you in any way, I’d appreciate it if you’d post a comment below to let me know. All code examples are for demonstration only and should be used at your own risk. I cannot accept liability for unexpected results.

Chris ColdFusion ColdFusion

Comments (0) Trackbacks (0) Leave a comment Trackback
  1. No comments yet.
  1. No trackbacks yet.
Subscribe to comments feed
Remember Your Flash Form Tab Configuring Oracle for CFMX Standard
RSS feed
  • Google
  • Youdao
  • Xian Guo
  • Zhua Xia
  • My Yahoo!
  • newsgator
  • Bloglines
  • iNezha

Sponsored By

Recent Posts

  • Just Bought the Google Nexus One
  • Seven Things I’ve Liked About Windows 7 in Seven Day
  • What’s Happened to Customer Service (Part 2)?
  • What’s Happened to Customer Service (Part 1)?
  • Capturing S.M.A.R.T. Hard Disk Data from WMI with AutoIt
  • Adjusting DCOM Settings via Script
  • How to Manually Call the Google Cache
  • RoboForm & RoboForm2Go Product Review
  • Updated PingCell Function for Excel
  • Creating Hyperlinks in Word and Excel Longer than 256 Characters

Categories

  • ColdFusion
  • Firefox
  • Google Nexus One
  • IIS
  • McAfee EE / SafeBoot
  • Microsoft Windows
  • Oracle
  • Random Code
  • Random Technology
  • Sports and Recreation
  • Subversion
  • The Untechnological

Archives

  • January 2010
  • October 2009
  • September 2009
  • August 2009
  • July 2009
  • June 2009
  • May 2009
  • April 2009
  • March 2009
  • October 2007
  • September 2007
  • August 2007
  • January 2007
  • November 2006
  • October 2006
  • September 2006
  • August 2006
  • July 2006
  • June 2006
  • May 2006

Meta

  • Register
  • Log in
PageRank
Top WordPress
Copyright © 2006-2010 TechnicallyChris.com
Theme by mg12. Valid XHTML 1.1 and CSS 3.