gpt4 book ai didi

java - 比较字符串时出现问题

转载 作者:行者123 更新时间:2023-12-01 10:03:17 25 4
gpt4 key购买 nike

我遇到以下问题:

我有一个带有值的序列:

“ORA-00904:TESTE:标识符无效”

我需要在查询中将此测试字段替换为空 ('')。

但是,如果我的查询包含名称为 TESTETE 的其他字段,并且我替换为 '',则它仍然错误,将 TESTE 替换为 ,将 TESTETE 替换为 TE

我想将 TESTE 替换为 ``,而 TESTETE 让它保持原样。

<小时/>

我的示例查询是:

从 TBL 中选择 TESTE、TESTETE、fld1

<小时/>

我的逻辑如下:

String oracleMsg = "ORA-00904: TESTE: identificador inválido";
String query = "SELECT TESTE, TESTETE, OUTRO FROM TBL";
String comp = "TESTE";

if (oracleMsg.contains(comp)){
query = query.replace(comp, "''");
}
System.out.println(query);

结果:从 TBL 中选择 ''、''TE、OUTRO预期结果?从 TBL 中选择“”、TESTETE、OUTRO

非常感谢!!!

最佳答案

使用正则表达式并用单词边界 anchor 围绕您的模式。

 query = query.replaceAll("\\b"+comp+"\\b", "''");

如果您只想替换该模式的一个实例,请使用 replaceFirst 而不是 replaceAll

关于java - 比较字符串时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36648547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com