|(15 intermediate revisions by 3 users not shown)|
'''MID$ ''' statement specifies a position in a [[STRING]] to overwrite previous data.
The MID$statement a [[STRING]].
''Syntax: '' MID$( string_value$, start%, length%) = string_value
: MID$($, %, %) =
* String value is any literal or variable [[STRING]] or [[ASCII]] character value.
* Start specifies the string character to start and length reserves the space. Cannot be 0!
* The string value to be placed in the string should be as long as the length reserved.
* The length of the original string is NOT changed in any case! Excess characters will not be in the string retured.
Example:'' Using [[INSTR]] to locate the string positions and a [[MID$ ( statement)| MID$ ]] statement to change the word.
:a$ = "The cats and dogs where playing, even though dogs don't like cats."
:start = 1 ' start cannot be 0 when used in the INSTR function!
:: position = [[INSTR]](start, a$, "dog")
:: IF position THEN
::: '''MID$'''(a$, position, 3) = "rat" ' changes "dog" to "rat" when found
::: start = position + 1 ' advance one string character so no repeats
:: END IF
:LOOP UNTIL position = 0
: PRINT a$
''Screen Results:'' The cats and rats were playing, even though rats don't like cats.
''See also:'' [[MKI$]], [[MKL$]], [[MKS$]], [[MKD$]], [[STR$]], [[HEX$]], [[INSTR]], [[Bitmaps]], [[ASCII]]
[[Keyword_Reference_-_Alphabetical|Go to Keyword Reference - Alphabetical]]
[[Keyword Reference - By usage|Go to Keyword Reference - By usage]]
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."
start% = 1 ' start cannot be 0 when used in the INSTR function!
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
LOOP UNTIL position% = 0 ' no other matches found
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.
- Keyword Reference - Alphabetical
- Keyword Reference - By Usage
- Main Wiki Page