That isn't very easy if you need to take in to account all of the possible variations for street names and you just want the "core" name.
For example: N FRONT AVE
S FRONT ST
FRONT PKWY
If you just want to pull 'FRONT' out of that string, then you would need to know all of the possible street directional and suffix words. (Suffixes: ROAD, RD, AVENUE, AVE, STREET, ST, etc... Directionals: N, NORTH, NW, NORTHWEST, NORTH WEST, etc...)
Then it gets trickier if you have a street like : NORTH PARKWAY AVENUE
In that case you would have to take in to account the positional value of each string and maybe assume that since AVENUE is last it must be the suffix while PARKWAY is the street name - even though PARKWAY is a valid suffix word.
My work involves handling addresses all over the United States and we have significant parsing algorithms to handle all of the possible variations. Having said all that, you could probably write something that is relatively simple and that would handle 70% of the possible addresses correctly.