Java: Как прочитать разделитель обратно в строку после обращения разделенного слова? - PullRequest
0 голосов
/ 06 апреля 2020

После того, как я перевернул разделенные слова, я не уверен, как добавить разделители.

String fileContent = "def  mnop.STU";
    String delimiter = "[^a-zA-Z0-9']+";
    String[] splitWords = fileContent.split(delimiter);
    StringBuilder stringBuilder = new StringBuilder();
    for (String word : splitWords) {
        StringBuilder output = new StringBuilder(word).reverse();
        stringBuilder.append(output);
    }
    StringJoiner joiner = new StringJoiner(delimiter);
    joiner.add(stringBuilder);
    System.out.println(joiner.toString());

Токовый выход: fedponmUTS

Желаемый выход: fed ponm.UTS

1 Ответ

2 голосов
/ 06 апреля 2020

Это не очень элегантно, но не могли бы вы сделать что-то подобное?

for (String word : splitWords) 
{
    int idx = fileContent.indexOf(word, stringBuilder.length());
    String delim = fileContent.substring(stringBuilder.length(), idx);
    stringBuilder.append(delim);

    StringBuilder output = new StringBuilder(word).reverse();
    stringBuilder.append(output);
}

Вывод:

fed  ponm.UTS
...