2012-05-01 8 views
1

私は基本的に段落を含む文字列を持っています。改行がある可能性があります。 文字列の最初の文だけを取得したいと考えています。 私は試してみると思った。段落の最初の文を見つける

これは空白のドットである。

問題は、これはfirstName. LastNameなどの行では機能しません。

私は.Netを使用しています。これを達成するための良い方法がありますか? また、Javaにタグを付けて検索範囲を絞り込むことができるかどうかを確認します。

+0

のindexOf()あなたの最善の策でありますあなたが自然言語の解析に興味がないならば。入力段落に制限がありますか?すべての文章が「。」で終わるようにする。または彼らはまた終わることができますか?そして! –

答えて

2

必要なものは、Natural Language Parsing(NLP)ツールキットです。多くの研究とデータ収集が必要なので、あなた自身で書くことは非常に難しいですが、幸いにもそれはすでにあなたのために行われています。

.NET

SharpNLPは、C#で書かれた自然言語処理ツールのコレクションです。

  • 文スプリッタ
  • ...

のJava

2

文の終わりをどうにかしてマークする必要があります。あなたがすでに "。" (「こんにちは、私の名前はPudelhund氏です。」)。可能であれば、使用されない記号を使用することをお勧めします。

編集:もう一方のmethodも良いですが、もっと複雑です。あなたはあなたがが使用している文字列を編集することができない場合は、その方法は私を打つ;)

+1

+1 "Pudelhund" –

2

これはString.substring(で使用する非常に単純な実装をすることができます)

String example = "Hello world. This is example. " ; 
System.out.print(example.substring(0, example.indexOf(".")+1)); // --> Hello world. 
関連する問題