MID$ (statement)

From QB64 Wiki
Revision as of 09:26, 23 April 2021 by Dkearns (talk | contribs) (Fix example highlighting/linking)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The MID$ statement substitutes one or more new characters for existing characters of a previously defined STRING.


MID$(baseString$, startPosition%[, bytes%]) = replacementString$


  • The baseString$ variable must exist and be large enough to contain the replacementString$.
  • startPosition% specifies the string character position to start the overwrite.
  • bytes% or number of characters is optional. Excess byte lenghts are ignored.
  • The replacementString$ should be as long as the byte length reserved.
  • The length of the original string is not changed in any case. If replacementString$ is longer, it gets clipped.


Example: Using INSTR to locate the string positions and a MID$ statement to change the words.

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! DO position% = INSTR(start%, text$, "dog") IF position% THEN ' when position is a value greater than 0 MID$(text$, position%, 3) = "rat" ' change "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$

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.

See also

Keyword Reference - Alphabetical
Keyword Reference - By Usage
Main Wiki Page