2012-07-26 5 views
-1

펄 문자열에서 따옴표와 공백으로 특수 문자 susch를 이스케이프하고 싶습니다.perl 문자열 이스케이프

정규 표현식을 사용하고 추가 모듈을 설치하는 것을 피하고 싶습니다.

+3

탈출 (HTML에 대한 이스케이프 데이터가 빠져 나가는 데이터에 완전히 다른 문제입니다.? SQL 등) – Quentin

+4

"정규 표현식을 사용하지 않고 추가 모듈을 설치하는 것을 피하고 싶습니다."- 처음에는 Perl을 선택해야하는 가장 큰 두 가지 이유가 있습니다 (IMO). 왜 그들을 피합니까? – Quentin

+0

아마도 제공 할 수 있습니까? 당신이 원하는 것의 예? –

답변

9

quotemeta을 사용하면 도움이됩니다.

my $escaped = quotemeta $string_with_quotes_and_spaces; 

영숫자 또는 밑줄이 아닌 백 슬래시로 이스케이프 처리됩니다.

0

문자열을받은 경우 borodin의 quotemeta 솔루션이 작동합니다.

문자열을 선언하는 경우 qq 스위치를 사용하여 문자열 구분 기호를 선언 할 수 있습니다. 예를 대신 " '또는 #을 사용하는 경우 :

my $string = qq#Didn't know I could do this!"how" amazing#; 

이 평소 문자열 구분 기호를 탈출 할 어떤 데이터 형식/언어

+1

그래, 이건 내 상황에서는 도움이되지 않지만 팁은 고맙다.) –

+0

'qq //'는 아무 것도 벗어나지 않는다. 큰 따옴표로 묶은 문자열에'''이외의 구분자를 사용하는 방법 일뿐입니다. – Borodin

관련 문제