首页 > 解决方案 > Java:通过分隔符反转字符串

问题描述

我正在尝试反转由我提供的分隔符分隔的字符串中的字符。

输入:string: "Abc.134dsq",delimiter: "."

期望的输出:cbA.qsd431

我的尝试:

String fileContent = "Abc.134dsq";
String delimiter = ".";
fileContent = fileContent.replace(delimiter, "-");
String[] splitWords = fileContent.split("-");
StringBuilder stringBuilder = new StringBuilder();
for (String word : splitWords) {
    StringBuilder output = new StringBuilder(word).reverse();
    stringBuilder.append(output);
}

System.out.println(stringBuilder.toString());

标签: javastringalgorithmreverse

解决方案


尝试这个:

System.out.println(Arrays
    .stream("Abc.134dsq".split("\\.", -1))
    .map(StringBuilder::new)
    .map(StringBuilder::reverse)
    .collect(Collectors.joining(".")));

现场演示

这处理了评论中提到的“保留尾随点”场景。现场演示也展示了这方面。

你的作业截止日期已经过去了足够的时间,所以我想我会给你看这个单行字。


推荐阅读