2011-11-04 82 views
-2

我有几行像这样:如何计算这个值?

AAAAAABBBBDDDAAADDSSDD,FLAGE=TRUE,LLUUGJYFR 
TTT:1 
TTT:2 
AAAAAABBBBDDDAAADDSSDD,FLAGE=TRUE,YYTTREETU,YTTREFF 
TTT:1 
AAAAAABBBBDDDAAADDSSDD,FLAGE=TRUE,KKIFRDEEW,YTRFHFFD 
TTT:1 
TTT:2 
TTT:3 
TTT:4 
AAAAAABBBBDDDAAADDSSDD,FLAGE=FALSE,TYYRFFGGGFD,JJUUGGGGF 
TTT:1 
TTT:2 
AAAAAABBBBDDDAAADDSSDD,FLAGE=TRUE,KKYGG,GGRFFFF,KUUYFFF 
TTT:1 

我想算TTT和FLAG = TRUE,如果FLAG = TRUE在java中 我该怎么检查呢? 感谢您的帮助

+0

这是一个Java的问题吗? –

+0

是我标记.. – Freeman

+0

没有用的问题,没有它不是根据我的请求的任何研究工作 – svaor

回答

3

以下代码可能对您有所帮助。

int res1 = countString(yourinput , "FLAGE=TRUE"); 
int res2 = countString(yourinput , "TTT"); 

int res3 = countTrueTTT(yourinput , "FLAGE" , "TTT") 

public int countString(String yourString , String search){ 
     int sLen = search.length; 
    int len = yourString.length; 
    int count = 0; 
    int index = yourString.indexOf(search, 0); 
    while(index > 0){ 
    count++; 
    index = yourString.indexOf(search, index + sLen); 
    } 

    return count; 
} 

public int countTrueTTT(String yourString , String under , String search){ 
    int len = yourString.length; 
     int sLen = under.length; 
     int count = 0; 
     int index = yourString.indexOf(under+"=TRUE" , 0); 
     int nextIndex = yourString.indexOf(under , index+sLen); 
     while(index > 0 && nextIndex > 0){ 
     count += countString(yourString.subString(index,nextIndex),search); 

     index = yourString.indexOf(under+"=TRUE" , index+sLen); 
     nextIndex = yourString.indexOf(under , index+sLen); 
     if(nextIndex <0) 
      nextIndex = yourString.length; 
     } 
     return count; 
} 
+0

,我想如果标志= true,那么算上TT – Freeman

+0

编辑答案但没有编译代码。可能有语法问题。但它解释了解决方案。 – ymutlu

+0

感谢了很多,但它是可以无限循环:( – Freeman

2
var lines = ["here", "are", "your", "lines"]; 
var count = 0; 
for(i in lines) { 
    var line = lines[i]; 
    if(/(^TTT:)|(FLAGE=TRUE)/.test(line)) { 
     count++; 
    } 
} 

alert(count); 

编辑:

对不起,认为它是JavaScript的.. 但是你上心。使用正则表达式。