you could do it with a text animator, a mask and a duplicate of the text layer. You would probably need that set up for each line of text.
to get you started, first create a text layer with a single line of text and add a mask that is a little taller than the text.
then add a text animator for position and set the y position to be about the same size as the text. ex: if you text is 100pt, set the y value to around 100. this should move the text outside the layer mask, so you won’t see it. adjust your layer mask or y value if needed.
once that is set up, you can animate the offset for that animator (animator > range selector > offset) to go from 0% to 100%. Each letter should now reveal on one-at-a-time.
now to set up the word so that it is on-screen and the letter move off, simply duplicate the text layer, set the y value of the position animator to the negative of the current value (ex, it if was 100, set it to -100) to move the text above the mask. then twirl down the properties animator > range selector > advanced and set the ‘mode property to from ‘add’ to ‘subtract’ to make the word start on-screen and have each letter move above the mask.
now as the characters from one text layer move above the mask as the letters from the other layer move from below the mask.