모든 구두점과 공백을 제거 할 수 있지만 소수점과 하이픈이있는 단어는 그대로 둘 수있는 정규식을 만들려고합니다. 지금까지 내가 가지고 :모든 구두점을 제거하지만 소수점과 하이픈이있는 단어는 그대로 두십시오.
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'를 제거하면 하이픈이 찍힌 단어에 전혀 영향을 미치지 않습니다. 너는 모든 hypens를 제거하고 그러나 낱말 사이에서 그들을 지키고 싶다는 것을 의미하는 것을 의미 하는가? 이 질문은 * 불분명하다. –
기대되는 결과 : 데이비드 마클린 세인트 마틴의 체르노빌 재해의 사회적 영향 언론 35 옷감 14.95 종이 316 pp 일러스트레이션 0-312-02432-0 –