The [[MID$]] statement substitutes one or more new characters for existing characters of a previously defined [[STRING]]. {{PageSyntax}} : [[MID$]]({{Parameter|baseString$}}, {{Parameter|startPosition%}}[, {{Parameter|bytes%}}]) = {{Parameter|replacementString$}} {{PageDescription}} * The {{Parameter|baseString$}} variable must exist and be large enough to contain the {{Parameter|replacementString$}}. * {{Parameter|startPosition%}} specifies the string character position to start the overwrite. * {{Parameter|bytes%}} or number of characters is optional. Excess byte lenghts are ignored. * The {{Parameter|replacementString$}} should be as long as the byte length reserved. * The length of the original string is not changed in any case. If {{Parameter|replacementString$}} is longer, it gets clipped. {{PageExamples}} ''Example:'' Using [[INSTR]] to locate the string positions and a [[MID$ (statement)|MID$]] statement to change the words. {{CodeStart}} text$ = "The cats and dogs were playing, even though dogs don't like cats." PRINT text$ start% = 1 ' start cannot be 0 when used in the INSTR function! {{Cl|DO...LOOP|DO}} position% = {{Cl|INSTR}}(start%, text$, "dog") IF position% THEN ' when position is a value greater than 0 {{Cl|MID$}}(text$, position%, 3) = "rat" ' changes "dog" to "rat" when found start% = position% + 1 ' advance one position to search rest of string END IF LOOP UNTIL position% = 0 ' no other matches found PRINT text$ '' '' {{CodeEnd}} {{OutputStart}} The cats and dogs were playing, even though dogs don't like cats. The cats and rats were playing, even though rats don't like cats. {{OutputEnd}} {{PageSeeAlso}} * [[MID$]] {{text|(function)}} * [[LEFT$]], [[RIGHT$]] * [[INSTR]], [[ASCII]], [[STR$]], [[HEX$]], [[Bitmaps]] (example) * [[MKI$]], [[MKL$]], [[MKS$]], [[MKD$]] {{PageNavigation}} <