Если я правильно понимаю:
Я бы использовал ArrayList.Попробуйте разбить по одной букве каждый элемент на список.Например,
mainString=skldfjkldfgj; // split it ["s","k","l","d","f","j","k","l","d","f","g","j"]
targetString=dfj; //split it too ["d","f","j"]
Вы знаете, что dfj разделен на 3 элемента в ArrayList.Если вы найдете первую букву targetString в mainString, проверьте следующие 2 элемента, если они совпадают.