This should work too
DECLARE @temp TABLE (Col1 VARCHAR(50))
DECLARE @input VARCHAR(50)
SET @input = 'ABC - QLD ONLY'
INSERT INTO @temp
SELECT 'ACT ONLY' UNION SELECT 'NSW ONLY' UNION SELECT 'QLD ONLY'
SELECT REPLACE(REPLACE(@input, col1, ''),' - ','') FROM @temp
WHERE CHARINDEX(col1,@input) > 0