반응형
문자열에 하위 문자열이 포함되어 있는지 확인
Perl을 사용하여 주어진 문자열에 특정 하위 문자열이 포함되어 있는지 어떻게 확인할 수 있습니까?
더 구체적으로, s1.domain.com
주어진 문자열 변수에 존재 하는지 확인하고 싶습니다 .
문자열에 하위 문자열이 포함되어 있는지 확인하려면 index
함수를 사용할 수 있습니다 .
if (index($str, $substr) != -1) {
print "$str contains $substr\n";
}
$substr
in 의 첫 번째 발생 위치를 반환 $str
하거나 하위 문자열을 찾을 수없는 경우 -1을 반환합니다.
또 다른 가능성은 Perl이 유명한 정규 표현식 을 사용 하는 것입니다.
if ($mystring =~ /s1\.domain\.com/) {
print qq("$mystring" contains "s1.domain.com"\n);
}
백 슬래시는 .
모든 문자와 일치 할 수 있으므로 필요 합니다. \Q
및 \E
연산자 를 사용하여이 문제를 해결할 수 있습니다 .
my $substring = "s1.domain.com";
if ($mystring =~ /\Q$substring\E/) {
print qq("$mystring" contains "$substring"\n);
}
또는 eugene y가 언급 한대로 수행 하고 index 함수를 사용할 수 있습니다. 경고 한마디 : Index는 또는 -1
대신 일치하는 항목을 찾을 수 없을 때 a를 반환합니다 .undef
0
따라서 이것은 오류입니다.
my $substring = "s1.domain.com";
if (not index($mystring, $substr)) {
print qq("$mystring" doesn't contains "$substring"\n";
}
이 s1.domain.com
문자열의 시작 부분에 있으면 잘못된 것 입니다. 나는 개인적으로 이것에 두 번 이상 불에 탔다.
대소 문자를 구분하지 않는 하위 문자열 예
이것은 하위 문자열을 확인하기 전에 문자열을 소문자로 변환하는 Eugene의 답변의 확장입니다.
if (index(lc($str), lc($substr)) != -1) {
print "$str contains $substr\n";
}
참고 URL : https://stackoverflow.com/questions/7283274/check-whether-a-string-contains-a-substring
반응형
'programing' 카테고리의 다른 글
JavaScript에서 개체 / 배열의 성능은 무엇입니까? (0) | 2020.08.14 |
---|---|
QMake .pro 파일에서 다른 디버그 / 릴리스 출력 디렉토리를 지정하는 방법 (0) | 2020.08.14 |
src / androidtest와 src / test 폴더의 차이점은 무엇입니까? (0) | 2020.08.13 |
Visual Studio Code는 어떤 종류의 Regex를 사용합니까? (0) | 2020.08.13 |
명령 줄에서 java .class를 실행하는 방법 (0) | 2020.08.13 |