Java 字符串操作条件替换全部
Java String Manipulation 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.
您的表达式非常接近:您只需检查前一个字符不是 U
,而不是 UP
,因为 P
已经被匹配:
(?<!U)P\b
这匹配单词边界处的单个字符 P
,除非它前面有 U
个字符。
我正在从文件中读取字符串...例如:
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
个字符。