java - 根据 JAVA 中的先前拆分重新组装拆分字符串?
问题描述
如果我拆分一个字符串,这样说:
List<String> words = Arrays.asList(input.split("\\s+"));
然后我想以各种方式修改这些单词,然后使用相同的逻辑重新组合它们,假设单词长度没有改变,有没有办法轻松做到这一点?幽默我,我这样做是有原因的。
注意:我需要匹配所有 whitspace,而不仅仅是空格。因此是正则表达式。
IE:
"Beautiful Country" -> ["Beautiful", "Country"] -> ["BEAUTIFUL", "COUNTRY"] -> "BEAUTIFUL COUNTRY"
解决方案
假设您对可以预期的单词数量有限制,您可以尝试编写一个正则表达式,例如
(\S+)(\s+)?(\S+)?(\s+)?(\S+)?
(对于您期望最多三个单词的情况)。然后,您可以使用 Matcher API 方法 groupCount()、group(n) 来提取单个单词(奇数组)或空格分隔符(偶数组 >0),对单词执行您需要的操作,然后重新组合它们再次...
推荐阅读
- java - 具有复合键的树数据
- kubernetes - 自己机架上的 Kubernetes 持久卷
- ssl - 播放框架看不到 SSL 中间/链证书
- vb.net - 如何比较 4 个不同的值?
- azure-service-fabric - 在 Service Fabric [本地] 中调用远程服务时出现 FileNotFoundException
- php - 使用动态子元素从 xml 元素中获取数据
- javascript - 如何在 Chart.js 中使用 showAllTooltips 和模式
- apache-spark - 使用两台不同的 Windows 机器设置 Spark 独立集群
- python-3.x - PyMySQL with Flask: %d format: a number is required, not str with stored procedure
- javascript - 在 jQuery 中同时显示所有错误消息