Java Can';在字符串中找不到模式

Java Can';在字符串中找不到模式,java,android,regex,string,Java,Android,Regex,String,这个字符串多次包含“Tulos:+1”,我试图找出该字符串中出现了多少次“Tulos:+1”,但它不起作用 它不会返回错误。它就是找不到。那祝酒词只是用来测试的。它总是说count2=0。顺便说一句,这个查询很好用 我想这个问题是由加号引起的,但我想不出来 count2 = 0; while(query1.moveToNext()){ String str2 = query1.getString(0); Toast.makeText(kortti.this,

这个字符串多次包含“Tulos:+1”,我试图找出该字符串中出现了多少次“Tulos:+1”,但它不起作用

它不会返回错误。它就是找不到。那祝酒词只是用来测试的。它总是说count2=0。顺便说一句,这个查询很好用

我想这个问题是由加号引起的,但我想不出来

count2 = 0;

while(query1.moveToNext()){

    String str2 = query1.getString(0);

    Toast.makeText(kortti.this,
            str2 + count2, Toast.LENGTH_LONG).show();

    Pattern p2 = Pattern.compile("Tulos: +1");
    Matcher m2 = p2.matcher(str2);
    while (m2.find()){
        count2 +=1;
        System.out.println(count2);
    }

}
字符串
“Tulos:+1”
表示
Tulos:
,后跟一个或多个空格
字符,然后是
1

如果你想要一个实际的加号,那么你应该避开它

“Tulos:\\+1”
字符串
“Tulos:+1”
表示
Tulos:
,后跟一个或多个空格
字符,然后是
1

如果你想要一个实际的加号,那么你应该避开它

“Tulos:\\+1”

只要试试:String.indexOf(String str,int fromIndex)有很高的性能

int count = 0;
int start = 0;
while(true) {
    int index = str2.indexOf("Tulos: +1", start);
    if (index < 0) break;

    start += 9; // 9 is length of "Tulos: +1"
    count++;
}
return count;
int count=0;
int start=0;
while(true){
int index=str2.indexOf(“Tulos:+1”,开始);
如果(指数<0)断裂;
start+=9;//9是“Tulos:+1”的长度
计数++;
}
返回计数;
试试看:String.indexOf(String str,int fromIndex)有很高的性能

int count = 0;
int start = 0;
while(true) {
    int index = str2.indexOf("Tulos: +1", start);
    if (index < 0) break;

    start += 9; // 9 is length of "Tulos: +1"
    count++;
}
return count;
int count=0;
int start=0;
while(true){
int index=str2.indexOf(“Tulos:+1”,开始);
如果(指数<0)断裂;
start+=9;//9是“Tulos:+1”的长度
计数++;
}
返回计数;

就是加上唱。。。我只是不知道该怎么办。所以正确的方法是写“Tulos:”+“\\+”+“1”。我只需要加上\\+这是加上唱。。。我只是不知道该怎么办。所以正确的方法是写“Tulos:”+“\\+”+“1”。我只是想加上\\+是的,我在评论中找到了答案,但还是要谢谢你!是的,我知道了(在评论中),但还是谢谢你!您可以使用
“Tulos:+1.length()
,顺便说一句,您可以使用
“Tulos:+1.length()