2012-01-28 3 views
1

ファイルを受け取り、識別子を見つけるプログラムを作っています。これまでは引用符で囲まれた単語を削除しましたが、数字で始まる単語はすべて非単語文字を削除しました。文字列をマッチングして、Javaで正規表現を使って配列に格納する

正規表現を使用して配列内の単語に一致しない単語を見つけ、それらの単語を別の配列に格納する方法はありますか?私はそれを理解することができます、私は分割方法を使用しようとしていたが、私はスペースで分割しようとすると正しく動作しない...これは私がそれを分割したものです。

String[] SplitString = newLine.split("[\\s]"); 
+0

ための「OR」構文でないことを意味します例を記入してください.. –

答えて

0

使用

String[] SplitString = newLine.split("\\s"); 

あなたは、複数のスペース/タブを組み合わせたいなど、あなたがしなければ

String[] SplitString = newLine.split("\\s+"); 

を使用しない場合。たとえば、あなたの文字列がある場合:

"a b c" 

は、最初はあなたに4つのトークンを与える:"a""""b"、および"c"、第二はあなたを与えるだろう3:"a""b"、および"c"

0

あなたが分裂、その後、最初に知られている単語を削除するだけで1行でそれを行うことができます。

String[] unknownWords = newLine.replaceAll("\\b(apple|orange|banana)\\b", "").split("\\s+"); 

注:

  • あなたの正規表現[\s]\sと同等ですので、私は
  • それを簡素化
  • の任意の数字に分割する必要があります。\s+
  • \b手段「ワード境界」 - これは除去正規表現試合applejack
  • 正規表現(A|B|C|etc)は論理
関連する問題