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