Me explico con codigo lo mejor que pueda, en donde habra una lista para guardar unos indices (importantes para saber cual substring valido est primero o mas a la izq. y cual est ultimo o mas a la derecha) y un mapa de hash para guardar pares de ste indice y su cadena valida para conversion: