java - 根据JAVA中先前的拆分重新组装拆分字符串?

标签 java

如果我分割一个字符串,请像这样说:

List<String> words = Arrays.asList(input.split("\\s+"));

然后我想以各种方式修改这些单词,然后使用相同的逻辑重新组合它们,假设没有单词长度发生变化,有没有办法轻松做到这一点?请跟我开玩笑,因为我这样做是有原因的。

注意:我需要匹配所有空白,而不仅仅是空格。因此有了正则表达式。

即:

"Beautiful Country" -> ["Beautiful", "Country"] -> ["BEAUTIFUL", "COUNTRY"] -> "BEAUTIFUL COUNTRY"

最佳答案

如果您使用String.split,则无法确保重新组装的字符串与原始字符串相同。

一般来说(在您的情况下)没有办法捕获实际使用的分隔符是什么。在您的示例中,"\\s+" 将匹配一个或多个空白字符,但您不知道使用了哪些字符,也不知道使用了多少个字符。

当您使用split时,有关分隔符的信息会丢失。期间。

(另一方面,如果您不关心重新组装的字符串可能具有不同的长度或可能与原始字符串具有不同的分隔符,请使用 Joiner 类...)

关于java - 根据JAVA中先前的拆分重新组装拆分字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51434150/

相关文章:

java - 使用单个 log4j2 xml 文件配置 log4j2 和 log4j

java - RabbitMQ 跨多线程多消费者负载均衡

java - 在gradle中将文件从一个文件夹复制到另一个文件夹

java - 如何使文本字体缩小并匹配 JTextArea 高度?

java - 如何在单击列表中父级的特定项目时扩展子级?

java.awt.Color getRed() 返回 "cannot find symbol"

java - 泛型怎么可能是 <Map.Entry<KeyType,ValueType>>

java - 当我的方法递归的唯一条件尚未满足时,为什么它会递归?

java - Hibernate 启用 PostLoad 事件

java - Hibernate 向数据库发送多余的查询