-6

Javaを使用して、入力文字列内の特定の単語の位置を見つけたい. 正規表現を使用したくありません。たとえば、入力文字列が「Rama Raman Rama」で、Rama を検索する場合、出力としてインデックス番号 0 と 11 が返されます。私のコードは、私が望まない 3 つの単語すべてで Rama を見つけます。手助け?

4

5 に答える 5

3

これがあなたの解決策です:

int index=0,j=0;
String name="RAMA RAMAN RAMA";
String[] names = name.split(" ");
for(int i=0;i<names.length;i++){
    if(names[i].equals("RAMA")){
        if(i!=0){
            while(j<i){
                index += names[j++].length();               
                }
            }
            index += i;
            System.out.println("Your match is at : "+index);
        }   
    }
于 2013-09-10T08:00:53.113 に答える
0

これを試すことができます

    String str="Rama Raman Rama";
    String[] arr=str.split(" "); // split and grab word to array
    int length=0;
    for(String i:arr){
       if("Rama".equals(i)){
           System.out.println("Index: "+length);
       }
        length=length+i.length()+1;// keep length count here
    }
于 2013-09-10T08:10:22.290 に答える
0

クラスPatternとを使用できますMatcher。「アルファ」という単語を見つけようとするときの例:

String s = "alpha beta alpha anything";
Pattern p = Pattern.compile("alpha");
Matcher m = p.matcher(s);

while (m.find())
    System.out.println(m.start());

それは印刷します:0、11

于 2013-09-10T08:10:26.213 に答える