2010-07-16 3 views
0

원래 문자열로 전달됩니다Perl의 문자열에서 이스케이프 코드를 제거하려면 어떻게해야합니까?

내가 출력이기 때문에 필요한 것은
FileSystems\/\1K-blocks=5036316, FileSystems\/\Available=3295944, FileSystems\/\Filesystem=/dev/cciss/c0d0p2, FileSystems\/\Use%=32% 

:

/ 1K-blocks=5036316,/Available=3295944,/Filesystem=/dev/cciss/c0d0p2,/Use%=32% 

하지만 정규식 나에게 두통의 모든 종류를 제공하고 있습니다로 '\'을 (를) 삭제하려고합니다. 나는 함께 끝나는 계속 :

Fi eSys ems/☺K-b o ks=5036316 Fi eSys ems/Avai ab e=3295944 Fi eSys ems/Fi esy 
s em=/dev/ iss/ 0d0p2 Fi eSys ems/SE%=32% 

펄 것은 분명히을 망쳐 정말 그것을 제어 또는 탈출 코드를보고하고있다.

의견을 보내 주시면 대단히 감사하겠습니다.

+0

이 입력 데이터 UTF8 인 트릭을 할 것인가? – IanNorton

+0

코드를 보여주십시오. – Svante

답변

0

이 두 라인을 수행해야합니다

s/FileSystems\\//g; 
s/\\/ /g; 
3

나는 눈에 정규식 좀 더 쉽게하기 위해 (/ 이외의) 다른 구분 기호를 사용합니다 :

s!FileSystems\\/\\!/ !g 
-1

DIFF 사용. 구분 기호를 사용하면이 점을 훨씬 덜 혼란스럽게 만듭니다.

$line =~ s!FileSystem\\/\\!/\s!g 

+0

대체 문자열에는 \ s를 사용할 수 없습니다. – Toto

관련 문제