すべての句読点と空白を削除することができますが、小数点とハイフネーション・ワードを保持できる正規表現を作成しようとしています。これまでのところ私は持っています:すべての句読点を削除しますが、小数点とハイフネーション・ワードは残します
String doc = "THE SOCIAL IMPACT OF THE CHERNOBYL DISASTER BY DAVID R. MARPLES (ST. MARTIN'S PRESS: $35, CLOTH; $14.95, PAPER; 316 PP., ILLUSTRATED; 0-312-02432-0)";
String doc = doc.replaceAll("[^a-zA-Z_0-9-]+", " ").toLowerCase();
小数点を含むすべてのドットを削除します。
ドットが文字または数字で囲まれている場合、どのように区別することができますか?
予想される出力:あなたは小数とプットを一致させるためにオプションのキャプチャグループを使用することができます
the social impact of the chernobyl disaster by david r marples st martin s press 35 cloth 14.95 paper 316 pp illustrated 0-312-02432-0
出力の例を挙げることができますか? – joshweir
'punctuations'と' whitespaces'を削除すると、ハイフネーションされた単語にはまったく影響しません。あなたは、すべてのハイフンも削除したいが、言葉の間にあるものは保持したいと言っているのですか?この質問は*不明です*。 –
期待される成果:デビッド・マラソン・マーティンによるチェルノブイリ災害の社会的影響 プレス35布14.95ペーパー316 ppイラスト0-312-02432-0 –