Something like this?
DECLARE @fullstreet varchar(50) ='100 NW 25 St APT# 303'
SELECT LEFT( @fullstreet, PATINDEX('%APT%', @fullstreet)),
REPLACE( RIGHT( @fullstreet, 1 + LEN( @fullstreet) - PATINDEX('%APT%', @fullstreet)), 'APT# ', 'Apartment = #')
Depends greatly on your data. A simple example can be misleading.