Come ottenere l’ennesima occorrenza in una stringa?

Mi piacerebbe ottenere la posizione di partenza della 2nd occorrenza di ABC . Con qualcosa del genere:

 var string = "XYZ 123 ABC 456 ABC 789 ABC"; getPosition(string, 'ABC', 2) // --> 16 

Come lo faresti?