간단 한 문자열 처 리 는 정규 표현 식 을 사용 하 는 것 을 피해 야 한다.

4147 단어 정규 표현 식
모든 정규 표현 식 의 일치 과정 은 일치 변수의 처리 와 관련 이 있 으 며,가장 간단 한 정규 표현 식 이라도 예외 가 아니 라 는 것 을 기억 하 십시오.
Perl 에서 간단 한 문자열 작업 은 특정한 함수,예 를 들 어 index,rindex,substr 와 tr//등 을 사용 해 야 합 니 다.
1.문자열 비교 연산 자
#     

if ($answer eq 'yes' )  { somesting_wonderful() }

2.index 와 rindex 로 하위 문자열 추출
index 조작 부 호 는 비교적 긴 문자열 에서 비교적 짧 은 문자열 의 위 치 를 찾 을 수 있 습 니 다.그리고 rindex 는 가장 오른쪽 끝 에서 위 치 를 정 하지만 위치의 계산 방식 은 왼쪽 에서 오른쪽으로 인식 합 니 다.
# $big_str   $little_str   ,     0

my $pos = index $big_str,$little_str;



# big_str   ,     $little_str       

my $pos = rindex $big_str,$little_str;

3.substr 로 하위 문자열 추출 또는 수정
substr 연산 자 는 주어진 시작 위치 와 문자열 길이 에 따라 문자열 의 일부분 을 추출 하 는 역할 을 합 니 다.길이 가 지정 되 지 않 으 면 지정 한 위치 부터 문자열 끝까지 문자열 을 추출 합 니 다.
#  “Perl”

my $perl = substr "It's a Perl World",7,4;



#  “Perl World”

my $perl_world = substr "It's a Perl World",7;

substr 표현 식 을 할당 작업 의 왼쪽 에 놓 으 면 문자열 교체 작업 입 니 다.즉,오른쪽 문자열 은 substr 가 지정 한 위치 와 길이 의 문자열 로 바 꿉 니 다.이런 방법 은 매우 우아 합 니 다.
#      world

my $world = "It's a Perl World";

substr($world,7,4) = "Mad Mad Mad Mad";

index 와 substr 를 결합 하면 s///교체 와 유사 한 기능 을 실현 할 수 있 습 니 다.다만 교체 만 한다 면 차라리 s//를 사용 하 는 것 이 빠 를 뿐만 아니 라 의미 도 명확 하 다.
4.단일 문자 일괄 변환
Perl 과 tr///연산 자,즉 문자열 변환 연산 자 를 잊 지 마 세 요.형식 이 더 가 깝 지만 정규 표현 식 이 아니 라 문자 간 의 전환 일 뿐 입 니 다.tr///는/g 옵션 이 없습니다.기본 값 은 전역 교체 이기 때 문 입 니 다.
문자열 의 일부분 만 바 꾸 려 면 substr 로 범 위 를 제한 할 수 있 습 니 다.
substr($string,0,10) =~ tr/a/b/;

좋은 웹페이지 즐겨찾기