Java.replace不工作

Java.replace不工作,java,string,replace,Java,String,Replace,我正在尝试编辑一个JPQL查询,而.replace在这个实例中不起作用 有人能帮我解释一下原因吗 qcJpql = qcJpql.replace("deal.entity.dealproduct dp", "product.entity.productdistribution dp"); 但是,下面的钻头工作正常: qcJpql = qcJpql.replace(" p.", " dp."); qcJpql是一个字符串 非常感谢您的回答 Replace区分大小写。因为你在评论中说你的字符串是

我正在尝试编辑一个JPQL查询,而.replace在这个实例中不起作用

有人能帮我解释一下原因吗

qcJpql = qcJpql.replace("deal.entity.dealproduct dp", "product.entity.productdistribution dp");
但是,下面的钻头工作正常:

qcJpql = qcJpql.replace(" p.", " dp.");
qcJpql是一个字符串


非常感谢您的回答

Replace区分大小写。因为你在评论中说你的字符串是:

select dp.product.productId from deal.entity.DealProduct dp where dp.dealDataConfiguration.deal.clientOrganisation.organisationId = 65380001 – 

它没有找到deal.entity.DealProduct dp,因为您正在查找deal.entity.DealProduct dp。只需更改搜索字符串的大小写。

原始字符串是什么?您应该检查代码。我认为这种方法不能取代impl。他有一只虫子。让我们看看它是如何不起作用的。你检查过了吗,制表符和空格?取消标记正则表达式。Stringreplace不分析其给定参数中的正则表达式。@Mena:但是,如果OP需要替换同时包含正则和Unicode空格的字符串,正则表达式可能会有所帮助。。。尝试qcJpql=qcJpql.replaceAll?Udeal\\.entity\\.dealproduct\\s+dp,product.entity.productdistribution dp@MHardwick从deal.entity.DealProduct dp中选择dp.product.productId,其中dp.dealDataConfiguration.deal.ClientOrganization.OrganizationId=65380001太棒了,谢谢!它仍然不起作用,但那完全是我的疏忽。