Typically, loop() will do something like:
- check for input
- if there's input, deal with the input
- handle any ongoing tasks
I imagine that "driving the display" is part of the third path. There is something in there that decides what characters to display. You have to make 2. such that it changes what those characters are, based on what comes in at 1.
Note that serial communications will come in one character at a time, and you probably only want to update the display when you get a full sentence -- say a newline.
You can declare two strings, one for buffering input, and one for what's displayed. When you receive a newline, copy the buffer to "display" and clear the buffer.
Make sure you don't overflow the buffer if the computer sends more data than what can fit.