Yes, it's definitely possible, and KM is a reasonable choice for getting that done. You'll probably want to use a regular expression (sometimes abbreviated "regex") to do it, and fortunately, even if you don't understand regex, I just did a quick Google search and found plenty of examples.
Keyboard Maestro makes this kind of job easy (although not necessarily simple) once you know enough about parsing text.
Learning to parse text with regular expressions and various other tools takes time and effort, but once you grasp a few basics getting started isn't too hard.
Most people run into trouble by thinking they can just pick up regular expression and other tools and use them to fine effect. They also try to do too much too fast, or they get focussed on trying to do in one action what is better done in several.
(I'll show a couple of simpler techniques based solely on the input and output example you gave here in a minute.)
With this macro I'm showing the basic strategy I'd use when tackling this sort of task, and I've done the following:
The variable copiedEmailAddress represents text copied to the clipboard.
(Enable the orange actions and disable the red action to automate the copy to clipboard part of the macro.)
Copied text is very often not copied cleanly, so I'm using a filter to remove any vertical and horizontal whitespace.
Remove Email Address using Search and Replace.
Remove Any Single Letter Abbreviations and Corresponding Period if it Exists.
Remove Comma Separator and any Corresponding Whitespace.
This is actually easy using non-scripting KM Actions, provided you know a bit of RegEx.
I have to say to more email addresses are usually provide in a different format: User name <email address>
so for your example, it would be: Smith, John A. <john.smith@gmail.com>