2011-04-25 6 views
2

Perl과 같은 방법으로 문자열에 \x{} (넓은 16 진수 char)을 삽입해야합니다. 내 코드에서 이중 평가를하면 이것이 최상의 솔루션이라는 것을 의아하게 생각합니다. x 보간을 에뮬레이트하는 더 좋은 방법이 있습니까?

s/(\\x\{[a-fA-F0-9]+\})/'"'.$1.'"'/ee; 
# or 
s 
/(\\x \{ [a-fA-F0-9]+ \}) 
/'"' . $1 . '"' 
/xee; 

더 쉽고 읽기 쉬운 방법이 있습니까?

예를 들어, 위의 정규 표현식은 "Spa \ x {df}"문자열을 "Spaß"로 변경합니다.

답변

4

에만 사용 하나 e :

s/\\x\{([A-Fa-f0-9]+)\}/chr hex $1/eg; 
관련 문제