The string is split into an array with the first element being stuff left of whitespace and the second element being the stuff right of whitespace, if this whitespace is preceeded by a-z and followed by a decimal digit.
Are you now asking how to split the string if it contains no digit after the whitespace (if there even is a whitespace)? Well, if there is no time, you'd have either "Arrived" or "Departed"... So just use that. You don't have to somehow split "Arrived" to get "Arrived".
Still, if you don't want to check how many elements were returned, and if you do know that Arrived & Departed are always followed by a whitespace even when there is no time, i.e. 'Arrived ' and 'Departed ', you could of course use a lookahead alternative to time: end of string.
Or, if there is no space after 'Arrived' and 'Departed' when the time part is missing, you could split on nothing, i.e. the nowhere between the lookbehind and the lookahead by using a lookahead of whitespace followed by digit or end of string, and then trim the time part which will either be whitespace followed by time or an empty string: (?<=[a-z])(?= \d|$)