小编a.p*_*nov的帖子

如何在java中使用regexp替换String时跳过特定的单词

考虑字符串

String s = "H_ello pe_rfec_t wor_ld"
Run Code Online (Sandbox Code Playgroud)

我想替换所有'_'符号...无论如何,让我们说'1',除了那些放在'pe_rfec_t'里面的符号.我甚至没有找到任何解决方案,只是跳过'pe_rfec_t'这个词:

s = s.replaceAll("(?<=pe_rfec_t).*|.*(?=pe_rfec_t)", "1");
Run Code Online (Sandbox Code Playgroud)

看起来很好看,但结果是:

11pe_rfec_t1 //instead of 1111111pe_rfec_t1111111
Run Code Online (Sandbox Code Playgroud)

理想情况下,我需要以下结果:

Hello pe_rfec_t world
Run Code Online (Sandbox Code Playgroud)

有人可以帮帮我吗?

java regex string

2
推荐指数
1
解决办法
153
查看次数

标签 统计

java ×1

regex ×1

string ×1