首页 > 解决方案 > 根据 JAVA 中的先前拆分重新组装拆分字符串?

问题描述

如果我拆分一个字符串,这样说:

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

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

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

IE:

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

标签: java

解决方案


假设您对可以预期的单词数量有限制,您可以尝试编写一个正则表达式,例如

(\S+)(\s+)?(\S+)?(\s+)?(\S+)?

(对于您期望最多三个单词的情况)。然后,您可以使用 Matcher API 方法 groupCount()、group(n) 来提取单个单词(奇数组)或空格分隔符(偶数组 >0),对单词执行您需要的操作,然后重新组合它们再次...


推荐阅读