2016-04-06 25 views
-8

Stringで文字インデックスを取得しようとしています。たとえば、私は "dablesink"単語の最初の "a"インデックスを取得したい(インデックスは1になります)。文字列内の文字インデックスを取得する方法

したがって、単語を解析して単語内の最初の文字を返すコードが必要です。

ありがとうございます!

+6

**。 'String'とは何の文字?何を試しましたか? –

+0

Ok、@ElliottFrisch私は答えを編集します。 –

+3

まだ明らかではありません。 'charAt'を使うことはできますが、実際に解決しようとしている問題は何ですか?最初の 'a'を取得しますか? * any * 'a'を取得しますか? 2番目のキャラクターを手に入れる?等 –

答えて

1

indexは、 'a'がこの文字列にない場合は-1になります。

このコードでは、この文字列の最初の「a」のみが検索されます。あなたが文字の複数の場所を見つける必要がある場合は、別の答えで解決策を使用して文字列をループします。

String str = "there is a letter"; 

int index = str.indexOf('a'); 
+0

ありがとう、私はそれを解決しました! –

2

文字列を反復処理して、検索する文字を探すことができます。

ただ、このようなループのために使用します。より**特定してください

String test = "I want to test something"; 
for(int i=0;i<test.length;i++) { 
    char t = test.charAt(i); 
    // do something with char 
} 

https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#charAt%28int%29

+0

ありがとう、ありがとうございます! –

+2

'indexOf()'が簡単になります。 – Andreas

+0

@残念あなたの解決策はaの1文字だけを見つけます。誰かがそれ以上のことをしたいのであれば、私は一般的なアプローチを適用しました。もちろん、あなたは 'indexOf'を使うことができますが、欠点は1つの値しか得られないことです。いくつかの 'a'文字がある場合は、さらに見たいときに反復して 'indexOf( 'a'、startIndex)'を追加する必要があります。 –

関連する問題