IT

한 줄에있는 단어 사이에 둘 이상의 공백이있는 항목을 검색하는 방법

lottoking 2020. 9. 3. 20:44
반응형

한 줄에있는 단어 사이에 둘 이상의 공백이있는 항목을 검색하는 방법


한 줄에있는 단어 사이에 둘 이상의 공백이있는 항목을 검색하는 방법

1. this is a line containing  2 spaces
2. this is a line containing   3 spaces
3. this is a line containing multiple spaces first  second   three   four

위의 모든 것은 정규식이 유효한 일치입니다. 어떤 정규식을 가지고 있습니까?


[ ]{2,}

SPACE (2 이상)

해당 공백 단어가 뒤 따르는 앞뒤를 확인할 수도 있습니다. (탭이나 새 줄과 같은 다른 공백이 아님)

\w[ ]{2,}\w

동일하지만 교체와 같은 작업을위한 공간 만 선택 (캡처) 할 수도 있습니다.

\w([ ]{2,})\w

또는 공백 앞뒤에 단어 문자라고 생각합니다.

[^\s]([ ]{2,})[^\s]

간단한 솔루션 :

/\s{2,}/

이것은 하나 이상의 공백 문자의 모든 발생과 일치합니다. 전체 행과 일치해야하지만 두 개 이상의 연속 된 공백 문자가 포함 된 경우에만 :

/^.*\s{2,}.*$/

공백이 연속적 일 필요가없는 경우 :

/^(.*\s.*){2,}$/

를 검색합니다 [ ]{2,}. 이렇게하면 줄 내에서 두 개 이상의 여러 곳에서 사용할 수 있습니다. 또한 선행 및 후행 공백과 완전히 공백으로 처리됩니다. Alexander의 대답을 확인하십시오.

사실, 괄호는 생략 할 수 있습니다. (그렇지 말하는 반복되는 공백 문자가 잘 보이도록 사용합니다. :)).

는 문제 \s{2,}그것은 또한 줄 바꿈에 의해-display되는 윈도우 파일에 줄 바꿈 (한다는을 구석으로입니다 일치 여부 CRLF거나 \r\n하는 일치 여부를 \s{2}.

여러 개의 탭과 공백도 설치면을 사용하십시오 [ \t]{2,}.


여기 내 해결책이 있습니다.

[^0-9A-Z,\n]

이 모든 숫자, 쉼표 및 새 줄을 제거하지만 데이터 세트와 같은 중간 공백을 선택합니다.

  • 20171106,16632 ESCG0000018SB
  • 20171107,280 ESCG0000018SB
  • 20171106,70476 ESCG0000018SB

이 정규식은 모든 공백을 선택합니다. 사용하고 단일 공백으로 교체 할 수 있습니다.

\s+

문법 예제

result = re.sub('\s+',' ', data))

참고 URL : https://stackoverflow.com/questions/3758798/how-to-search-for-occurrences-of-more-than-one-space-between-words-in-a-line

반응형