Since it looks like your data has no spaces between the player names and team names, a reliable approach is to create a list of the 20 team names in a separate range (say X1:X20). Then you can use REGEXEXTRACT in combination with TEXTJOIN and ARRAYFORMULA to extract the team name. Essentially, the formula will look for any of the known team names in the string. For example, if your list of teams is in X1:X20 and your player+team string is in N2, you could use:
=ARRAYFORMULA(TEXTJOIN("", TRUE, IF(REGEXMATCH(N2, X$1:X$20), X$1:X$20, "")))
This will return the team name from the cell because it checks each possible team against the text and outputs the match.
If you instead want to separate the player's name and convert the first letter of the player's name to lowercase while keeping the rest unchanged, you could use:
=LOWER(LEFT(N2,1)) & MID(N2,2,LEN(N2)-LEN(ARRAYFORMULA(TEXTJOIN("", TRUE, IF(REGEXMATCH(N2, X$1:X$20), X$1:X$20, "")))))
This works by taking the first letter, converting it to lowercase, and then appending the rest of the player's name (excluding the team name at the end).
This approach avoids relying on uppercase letters to split the text, which fails in your dataset because both names and teams use uppercase letters internally.
If the above response helps answer your question, remember to "Accept Answer" so that others in the community facing similar issues can easily find the solution. Your contribution is highly appreciated.
hth
Marcin