Java字符串操作条件replaceAll
我从一个文件中读取字符串,例如:Java字符串操作条件replaceAll,java,conditional,replaceall,Java,Conditional,Replaceall,我从一个文件中读取字符串,例如: I JUMP UP HIGH IN THE AIR WITH SOUP TO GET TO YOU. 我将如何执行有条件的replaceAll,例如,在单词末尾替换所有p,除非单词以UP结尾 这是我根据单词末尾的U示例尝试的: s = s.replaceAll("(!UP\\b)P\\b", "PS") 以上我希望将字符串s更改为: I JUMPS UP HIGH IN THE AIR WITH SOUP TO GET TO YOU. 您的表达式非常接近:
I JUMP UP HIGH IN THE AIR WITH SOUP TO GET TO YOU.
我将如何执行有条件的replaceAll
,例如,在单词末尾替换所有p
,除非单词以UP
结尾
这是我根据单词末尾的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
字符
您的表达式非常接近:您只需检查前面的字符不是U
,而不是UP
,因为p
已经匹配:
(?<!U)P\b
(?
这与单词边界处的单个字符p
匹配,除非前面有U
字符
这是在…找到的问题的后续问题这是在…找到的问题的后续问题如果我不想更改以OUP结尾怎么办?@Hedgebox然后使用(?-即P
,除非前面有OU
.Tks。有关于字符串操作的好教程和例子吗?@Hedgebox我保留-它非常详细地讨论了正则表达式。如果我不想更改,如果它以OUP结尾怎么办?@Hedgebox,那么您使用(?-即P
除非前面有OU
.Tks。是否有一个关于字符串操作的好教程以及您可以向我指出的示例?@Hedgebox我保留了-它非常详细地讨论了正则表达式。