현재 문장에서 기호를 제거하기 위해 다음 정규식 패턴을 사용하고 있습니다.특정 기호를 제외한 정규식을 확인하십시오.
sentence = re.sub("[^a-zA-Z]"," ", sentence)
그러나, 나는 모든 -
을 유지하고 문장에있는 모든 다른 기호를 제거합니다.
예를 들어, 아래 문장에서 나는 다음과 같은 출력을 얻고 싶습니다.
Input: tim-tam is a tasty, yummy chocolate.
Output: tim-tam is a tasty yummy chocolate
어떻게 이것을 수행하기 위해 현재 정규 표현식 패턴을 개선 할 수 있습니까?
고맙습니다. 그것은 작동합니다. 나는 이것을 대답으로 받아 들일 것이다. ''s '앞에 나타나는'''을 무시하고 싶습니다. [^ a-zA-Z-s]로 쓰는 것이 맞습니까? 예 : 입력 : '강아지의'음식 '은 끝입니다. 출력 :'강아지의 음식은 끝났습니다. ' –
아니요. 더 복잡한 패턴이됩니다. '[]'는 문자 세트를 나타냅니다. 당신은 부정적인 lookahead (내 대답에 링크 된 문서에서 그것을 찾으십시오)로 그것을 달성 할 수 있습니다. 예를 들면 :'[^ a-zA-Z - '] |'(?! s)'. ''(?! s)'부분은'''에 이어''s ''와 일치합니다. '| '는 또는을 의미합니다. – Galen