내 문자열은 다음과 같습니다
$varin="wer.try.iuy.oiu.qert"
문자열 끝부터 "."까지 문자를 제거하고 싶습니다. 만나다.
예상 출력:
wer.try.iuy.oiu
이것을 사용해 보았지만 chop()
아무것도 substr
작동하지 않습니다. 마지막 문자만 제거됩니다.
도와주세요:)
답변1
정규식은 다음과 같은 문제를 해결하는 데 유용합니다.
$varin =~ s/\.[^.]+$//;
이는 점과 일치하고 점이 아닌 여러 개가 뒤따른 다음 문자열의 끝과 일치합니다. 그런 다음 일치하는 콘텐츠를 삭제하세요.
또 다른 방법은 마지막 .
using을 찾은 rindex
다음 use를 사용하여 substr
점과 그 뒤의 모든 항목을 삭제하는 것입니다.
my $i = rindex($varin,'.');
$varin = substr($varin,0,$i) if $i>0;