gpt4 book ai didi

java - java中删除字符串中的字符

转载 作者:行者123 更新时间:2023-12-02 05:49:26 24 4
gpt4 key购买 nike

删除单引号之间的字符。我正在尝试这个。

如果我输入 sa' 或 '1'='1,则输出应为 ' 或 ' '='。我正在从事sql注入(inject)项目。他们需要的是从单引号中删除字符。

通过使用准备好的语句,我们可以防止注入(inject)。但在此之前我想删除单引号之间的字符。这个怎么做。有什么简单的方法吗?

StringBuilder strBuilder = new StringBuilder();
String [] ary = uname.split("");
int j = 1;
for (int i = 0 ; i < ary.length ; i++) {
if (ary[i].equals("'")) {
if (j == 1) {
strBuilder = new StringBuilder();
strBuilder.append(ary[i]);
j++;
}
else if (j % 2 == 0) {
strBuilder.append(ary[i]);
j++;
}
else if (j % 3 == 0) {
strBuilder.append(ary[i]);
}
else if (j % 4 == 0) {
strBuilder.append(ary[i]);
break;
}
}
else {
strBuilder.append(ary[i]);
}
}
uname = strBuilder.toString();
System.out.println("uname: " + uname);

最佳答案

不太确定您正在使用代码做什么。代码永远不会进入 else if(j%4==0) block ,因为如果此条件为 true,则 else if(j%2==0) 显然将为 true 。

如果您只想跳过单引号之间的字符,请使用 boolean 标志。在遇到的索引处将其设置为 true ,并在接下来遇到的索引处将其设置为 false 。消除中间的字符。重复此操作,直到您的字符串被解析。

关于java - java中删除字符串中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23707620/

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