2017-11-21 1 views
0

문자열 끝에있는 단일 문자 사이의 공백을 삭제하려고합니다.공백을 하나의 문자 사이에 넣으십시오. (POSIX regex ... lookarounds가 없습니다.)

예를 들어 나는이 필요합니다 :

일부 회사는 LLC

이되기 위해 :

일부 회사 LLC

캐치이는 POSIX를 지원 Redshift에,에 있다는 것입니다 정규식이 아니므로, 나는 인생을 너무 쉽게 만들 수있는 미리보기 (? =)를 사용할 수 없다.

내가 지금까지 가지고있는 가장 가까운 것입니다

(\s.{1,3}$) 

는 여기를 참조하십시오 :

https://regexr.com/3h81p 그러나이 너무 문자를 선택합니다. L P, L C, N A와 같은 서류가 더 많아서 글자를 LC로 바꿀 수는 없으므로 둘 사이의 공백을 대체하는 것이 좋습니다.

도움을 주셨습니다. 대한

+0

정규식 링크를 제공하려는 경우 왜 테스트 사례를 제공하지 않는 것입니까? – Alexander

+0

정말 POSIX BREs/EREs입니까, 아니면'\ <', '\>','\ s','\ S' 등입니까? – AlexP

+0

'\ b' (단어 경계)와 역 참조를 지원합니까? – anubhava

답변

1

검색 :

(\s\w)\s(\w)\s?(\w?)$ 

가 교체 :

$1$2$3 

이 줄 끝에 두 찍어 아웃 문자 나 세 찍어 아웃 문자 사이에 공백을 제거하기 위해 작동합니다.

+0

니스,이 작품을 않습니다. 그래도 추가 이스케이프를 추가해야했습니다. (\\ s \\ w) \\ s (\\ w) \\ s? (\\ w?) $ –

관련 문제