Dividir un texto sin espacios en blanco con las palabras en la lista

Coiiin:

Tengo tres listas, que se han fusionado en una sola lista

    static List allLists = Stream.of(list1, list2, list3)
        .flatMap(Collection::stream)
        .collect(Collectors.toList());

Tengo la entrada del usuario y sin espacios en blanco

String = "HelloIwanttobookanonlineseminaratyourcompany"

Todas las palabras que la entrada del usuario Stringya son allLists. Quiero iterare sobre allListse insertar espacios en blanco en la cadena, con cada palabra que se encuentra. El resultado debe ser:

String = "Hello I want to book an online seminar at your company"

¿Hay una manera fácil i miss solución?

Bohemia:

Utilice una sola línea que emplea un vistazo (masiva) detrás construido a partir allListsde espacios de inserción antes de cada palabra:

str = str.replaceAll("(?<=" + String.join("|", allLists) + ")", " ");

Tenga en cuenta que el orden de las palabras en allListsque es importante; si desea que las palabras más largas que tienen preferencia, la lista de ellos primero (recomendado). Por ejemplo, si ambos "libro" y "reserva" están en su lista, la reserva antes de poner el libro, de lo contrario obtendrá "libro ing" en su resultado.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=189109&siteId=1
Recomendado
Clasificación