2012-09-27 3 views
2
나는 다음과 같이 내 문자열에서 공백을 제거 대체 할 정규식 작성하려는

:펄 : 정규식 대체

문자열 : user1: group user2 :group2 user3 : group3

user1:group user2:group2 user3:group3 

에 내가 지금까지 시도 무엇 :

$argument =~ s/\s+\:/\:/g; 

답변

5

거의 다 왔어 :

$argument =~ s/\s*:\s*/:/g; 

:을 이스케이프 할 필요가 없으며 콜론 앞뒤의 공백을 검색하려고합니다. 하나 또는 그 이상을 검색하는 \s+ 대신에 0 또는 그 이상을 검색하는 \s*을 사용했습니다. 그 전에 공백이 없으면 일부 공백이 없으면 그 방식으로 일치하거나 그 반대의 경우도 있습니다.

+0

빠른 도움에 감사드립니다. – iDev

1

편집 (도 콜론 앞에 공백이있을 수 있음을 통보하지 않았다) :

$yourString =~ s/\s*:\s*/:/g; 

나는 생각한다. 나는 어떤 방식 으로든 perl을 말하지 않는다.