2016-10-23 2 views

답변

2

탭은 아스키 문자 0x09입니다. 공백은 0x20입니다. 교체 공간

$str = "1 2 3\t4 5 6\t7 8 9\n"; 
$str =~ s/ //g; 
# $str is now "123\t456\t789\n" 

정규 표현식에 대해 소개 perlrequick 한 번 봐 ... 탭에 영향을 미치지 않습니다.

1

[I 보통 이런 질문 "나를 위해 내 코드를 작성"대답하지,하지만 나는 기존의 정규식 기반의 대답에 대한 대안을 제공 대답을하는 것이 중요하다고 생각했다.]

하다니 s/.../.../을 사용하여 문자열에서 문자를 제거 할 수 있습니다. Perl의 정규식 엔진을 사용하여 간단하게 처리 할 수 ​​있습니다. 음역 연산자 (tr/.../.../)는 /d 옵션을 사용하여 대상 문자열에서 특정 문자를 삭제합니다.

#!/usr/bin/perl 

use strict; 
use warnings; 

my $str = "1 2 3\t4 5 6\t7 8 9\n"; 

print $str; 

$str =~ tr/ //d; 

print $str; 
+0

위대한 의견으로, 나는 이것을 오래 전에 사용했고 실제로 그것을 잊어 버렸습니다. :) –

관련 문제