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'”