繁体   English   中英

Java String Manipulation条件替换All

[英]Java String Manipulation Conditional replaceAll

我正在从类似...的文件中读取字符串,例如:

I JUMP UP HIGH IN THE AIR WITH SOUP TO GET TO YOU.

我将如何执行条件replaceAll ,例如,除非单词以UP结尾,否则替换单词末尾的所有P

我根据单词结尾处的U示例尝试了此操作:

s = s.replaceAll("(!UP\\b)P\\b", "PS")

上面我希望将字符串s更改为:

I JUMPS UP HIGH IN THE AIR WITH SOUP TO GET TO YOU.

您的表达式非常接近:您需要检查的是前一个字符不是U而不是UP ,因为P已经被匹配了:

(?<!U)P\b

这匹配单词边界处的单个字符P ,除非它前面有U字符。

演示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM