将字符串中的一个字符替换为不包括pattern的另一个字符串

时间:2017-03-13 11:51:14

标签: java string replace

我需要将字符串中的所有'%'字符替换为“%25”,但我不想替换%25中的%以避免出现这种情况,当我得到像这样的%% 25时。 我想用Java做。 例: 输入:%sdfsdaf%25 预期结果:%25 sdfsdaf%25

你知道我应该用它来获得它吗?

1 个答案:

答案 0 :(得分:1)

如果不进行深入讨论并深入挖掘您正在尝试通过替换完成的内容......您的问题的答案可能类似于:

myString.replaceAll("%(?!25)", "%25");

来自Pattern Documentation; (?!...)部分意味着“仅匹配如果后面的文本(因此:前瞻)这不匹配(因此:否定)匹配此。但它实际上不消耗它匹配的字符(因此:零 - 宽度)。

Link的第3.5节更详细地阐明了它。