java中的字符串操作
我有这样一个问题:java中的字符串操作,java,string,Java,String,我有这样一个问题: "select * from aaa where id < 10 and name = 'test'" “从aaa中选择*,其中id和=的次数 bool whereCondition = false; int counterCompare = 0; int counterConditions = 0; // select is your SQL String for(int i = 0;i<select.length;++i) { if(whereCond
"select * from aaa where id < 10 and name = 'test'"
“从aaa中选择*,其中id<10,名称='test'”
从这个查询中,我想找出where
之后的条件数(本例中为2)
此外,我还想知道您可以通过一个循环简单地计算所有>和=的次数
bool whereCondition = false;
int counterCompare = 0;
int counterConditions = 0;
// select is your SQL String
for(int i = 0;i<select.length;++i)
{
if(whereCondition){
if(select.charAt(i) = '<' || select.charAt(i) = '>') {
++counterCompare;
}
if(select.charAt(i) = '=' && !(select.charAt(i+1) = '<' || select.charAt(i+1) = '>')) {
++counterCompare;
}
if (select.charAt(i) = 'A') {
if(i+2 < select.length) {
if(select.charAt(i+1) = 'N' &&
select.charAt(i+2) = 'D')
++counterCondition;
}
}
if (select.charAt(i) = 'O') {
if(i+4 < select.length) {
if(select.charAt(i+1) = 'R' &&
select.charAt(i+2) = 'D' &&
select.charAt(i+3) = 'E' &&
select.charAt(i+4) = 'R' &&)
whereCondition = false;
}
}
}
else {
if (select.charAt(i) = 'W') {
if(i+4 < select.length) {
if(select.charAt(i+1) = 'H' &&
select.charAt(i+2) = 'E' &&
select.charAt(i+3) = 'R' &&
select.charAt(i+4) = 'E' &&)
whereCondition = true;
}
}
}
}
bool whereCondition=false;
int计数器比较=0;
int反条件=0;
//选择是您的SQL字符串
对于(int i=0;如果没有一个成熟的SQL解析器,通常会很困难。也许这会有帮助:您不能只计算和s和或s+1(对于第一个条件)?你尝试过什么吗?如果没有,尝试一下,如果你不能让它工作,回来给我们看看你做了什么。如果是,给我们看看你的代码。首先尝试一下有很多字符串方法、正则表达式、字符串标记器,先试一下你能做的。你可以执行“从aaa中选择count(1),其中id<10”
和“从aaa中选择计数(1),其中名称='test'”