java - 替换一个字符串,只要它后面没有跟在 java 中的另一个字符串吗?

标签 java regex replaceall

我已经获取了整个代码文件并将其放入一个字符串中:content。我需要用不带 A01 的名称替换所有以 A01 开头的单词(类名),A01Data 和 A01PrimaryFile 除外。 (例如 A01Numbers 变成我试过的数字:

content = content.replaceAll("A01(?!Data)|A01(?!PrimaryFile)", "");

但 A01 仍然被拿走了。有更好的方法吗?

谢谢!

最佳答案

| 放在负前瞻中:

content = content.replaceAll("A01(?!Data|PrimaryFile)", "");

想一想 - 您的非工作代码检查前面没有 DataA01 或没有 PrimaryFileA01 > 在前面。 A01 不能同时在前面,所以它始终为真。

在此代码中,它检查前面既没有Data 也没有PrimaryFileA01

关于java - 替换一个字符串,只要它后面没有跟在 java 中的另一个字符串吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20341353/

相关文章:

java - Maven过滤乱码特殊字符

javascript - 如何过滤掉具有相同关键词的不同标题

java - 将空白替换为 %20

java - 在 replaceAll 调用中修改部分正则表达式

Java String.replaceAll() 引用最新找到的组

java - 使用 getTableCellRendererComponent 更改 JTable 单元格颜色 没有任何反应

java - 如何处理大字符串和有限的内存

java - Maven 解析的版本与传递依赖中的版本不匹配

javascript - 在 JavaScript 中验证带括号的 URL

javascript - 使用正则表达式从字符串中删除不需要的字符组