java - 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());
解决方案
尝试这个:
System.out.println(Arrays
.stream("Abc.134dsq".split("\\.", -1))
.map(StringBuilder::new)
.map(StringBuilder::reverse)
.collect(Collectors.joining(".")));
见现场演示。
这处理了评论中提到的“保留尾随点”场景。现场演示也展示了这方面。
你的作业截止日期已经过去了足够的时间,所以我想我会给你看这个单行字。
推荐阅读
- reactjs - 使用 history.push 进行呼叫转移
- python - tkinter 代码执行顺序问题
- c# - 调用泛型函数并分配泛型变量时编译错误
- python - 在python中增加月份,然后打印增加月份的名称
- javascript - webpack 4 scss 加载器不起作用 - 为什么?
- c# - 带有进度指示器的 SQL Server 备份/还原
- gradle - 如何更改项目版本的默认策略?
- swift - 无法推断通用参数“T” - 可编码
- symfony - 将全局变量从页面内联脚本传递到 Symfony webpack encore
- javascript - 这是来自 chart.js 的自定义问题