2016-08-19 12 views
-10

文字列内の各単語にnoまたはindexを指定したい(文字列には、特殊文字または数値が含まれている可能性があります)。 ここで私がしたいことは、文字列に「こんにちは、どうですか?」と言います。 こんにちは:1 how:2 :3 あなたは:4 私がしようとしているのは、上記のようなスペースで単語を区切ることです(インデックス番号も必要です)。文字列内のすべての単語の索引付け

+3

あなたは質問がありません。私たちはあなたのためにコードを書いていません – Li357

答えて

2

あなただけの道に沿って句読点を削除し、スペース上のテキストを分割して、配列を反復処理し、インデックスを印刷することができます。

String line = "hello, how are you?"; 
String[] words = line.replaceAll("[^a-zA-Z ]", "").split("\\s+"); 

for (int i=0; i < words.length; ++i) { 
    System.out.print(words[i] + ":" + i + " "); 
} 

説明:

  • replaceAll("[^a-zA-Z ]", "")一致いずれかを文字は小文字でも大文字でもなく、それを削除します。
  • split("\\s+")もう1つの空白文字を使用して文を分割します分割のポイントとしてのラクター
+1

この文は何をしていますか? ( "\\ s +"); 'line.replaceAll( "[^ a-zA-Z]"、 "").split –

+1

@Mridul Gupta:javadocを読んだことはありますか? –

+0

いいえ、私はしていない –

関連する問題