Difference between revisions of "Replace string"

From Kolmafia
Jump to navigation Jump to search
imported>StDoodle
m
imported>Fredg1
 
(9 intermediate revisions by 6 users not shown)
Line 5: Line 5:
 
FunctionPage|
 
FunctionPage|
 
name={{#var:name}}|
 
name={{#var:name}}|
function_category=String Handling Routines|
 
  
 
function1={{Function|
 
function1={{Function|
Line 30: Line 29:
 
}}|
 
}}|
  
function_description=Searches through the supplied {{pspan|original}} text, replacing every instance of {{pspan|find}} with {{pspan|replace}}, and returns the result.|
+
function_description=Searches through the supplied {{pspan|original}} text, replacing every instance of {{pspan|find}} with {{pspan|replace}}, and returns the result. The result being a buffer, if {{pspan|original}} is a string, you will need to store the result in a variable (buffer) manually, or you will have wasted your time. If it was a buffer, the change(s) will be directly applied (and saved) to {{pspan|original}}.|
 +
code1={{CodeSample|
 +
title=Code Sample|
 +
description=Replaces the center image of the Cyrpt (it's blank, don't worry) with some information regarding the noncombats of the zones.|
 +
code=<syntaxhighlight>
 +
void main()
 +
{
 +
  buffer results;
 +
  results.append(visit_url());
  
needscode=yes|
+
  string cyrpt = "<font size=1>&lt;- Muscle &nbsp; &nbsp; Mys -&gt;<br />&lt;- Mox &nbsp; &nbsp; All -&gt;</font>";
 +
  results.replace_string("<img src=\"http://images.kingdomofloathing.com/otherimages/cyrpt/cyrpt5.gif\">", cyrpt);
 +
 +
  results.write();
 +
}
 +
</syntaxhighlight>}}|
  
 
special=Matches are made left-to-right, and once a portion of the supplied {{pspan|original}} is noted as a match, searching continues from the next character after said match.|
 
special=Matches are made left-to-right, and once a portion of the supplied {{pspan|original}} is noted as a match, searching continues from the next character after said match.|
 
}}
 
}}
 +
 +
[[Category:String Handling Routines]]

Latest revision as of 06:11, 21 November 2019

Function Syntax

buffer replace_string(buffer original ,string find ,string replace )

buffer replace_string(string original ,string find ,string replace )

  • original is the starting string or buffer
  • find is the text to find in original
  • replace is the text to substitute for find

Searches through the supplied original text, replacing every instance of find with replace, and returns the result. The result being a buffer, if original is a string, you will need to store the result in a variable (buffer) manually, or you will have wasted your time. If it was a buffer, the change(s) will be directly applied (and saved) to original.

Code Sample

Replaces the center image of the Cyrpt (it's blank, don't worry) with some information regarding the noncombats of the zones.

void main()
{
   buffer results;
   results.append(visit_url());

   string cyrpt = "<font size=1>&lt;- Muscle &nbsp; &nbsp; Mys -&gt;<br />&lt;- Mox &nbsp; &nbsp; All -&gt;</font>";
   results.replace_string("<img src=\"http://images.kingdomofloathing.com/otherimages/cyrpt/cyrpt5.gif\">", cyrpt);
	
   results.write();
}

Special

Matches are made left-to-right, and once a portion of the supplied original is noted as a match, searching continues from the next character after said match.