String Formatting on Commodore Computers

Commodore BASIC has some interesting and simple string functions built in. Two of them are self explanatory: LEFT$ and RIGHT$. But the mysterious MID$ function is a little tricker, and I can never remember how it works.

So here’s a quick recap on how three of these work.

LEFT$ (A$,X)

The LEFT$ function takes the x left characters from a given string. Here’s an example:


print left$(a$,3)

We get “one”, because those are the 3 leftmost characters in our string a$.


Likewise, RIGHT$ takes the x right characters from any given string:


print right$(a$,5)

Here we get “three”, because those are the 5 right characters of a$.

MID$ (A$,X,Y)

MID$ is a little more complex. It takes x characters from a given string, starting at position y. Let’s look at our earlier example again:


print mid$(a$,5,3)

We get “two”, because those are the 3 characters, starting at position 5. The first position in all these string operations counts as one rather than zero.

But did you know that MID$ can also be used to assign and replace different characters in a string? Consider this:


print a$

Now we’ve replaced the 3 characters in our string with another string, starting at position 5.

I had no idea it cold do that! All these string operations work in all variations of the Commodore BASIC, except for the MID$ assignment which only works on the Plus/4 and the C128.

Jay is founder of WP Hosting, a boutique style managed WordPress hosting and support service. He has been working with Plesk since version 9 and is a qualified Parallels Automation Professional. In his spare time he likes to develop iOS apps and WordPress plugins, or drawing on tablet devices. He blogs about his coding journey at and

You can leave a comment on my original post.