현재 위치: > 최신 기사 목록> strcspn 함수는 문자열에 설정된 문자의 위치를 ​​어떻게 계산합니까? 상해

strcspn 함수는 문자열에 설정된 문자의 위치를 ​​어떻게 계산합니까? 상해

gitbox 2025-08-25

PHP에서 STRCSPN은 지정된 문자 세트에 있지 않은 문자열에서 첫 번째 문자의 위치를 ​​계산하는 데 사용되는 함수입니다. 전체 이름은 "String Complement Span"입니다. 이는 문자열의 시작부터 시작하여 주어진 문자 세트에 속하지 않는 첫 번째 문자를 찾고 문자의 색인 위치를 반환하는 것을 의미합니다. 이 기능은 종종 문자열 처리에 사용됩니다. 특히 문자열에서 문자의 첫 번째 위치를 찾아야 할 때.

strcspn 함수의 구문

 <span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$charlist</span></span><span> [, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$start</span></span><span> = </span><span><span class="hljs-number">0</span></span><span> [, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$length</span></span><span> = </span><span><span class="hljs-literal">NULL</span></span><span> ]])
</span></span>
  • $ haystack : 검색 할 대상 문자열.

  • $ charlist : 발견 할 문자, 즉 여러 문자가 포함 된 문자열을 정의합니다.

  • $ start : 선택 사항, 검색을 시작할 위치를 지정하고 기본값은 0입니다.

  • $ 길이 : 선택 사항, 검색 할 때 확인할 최대 길이를 지정하면 기본값이 NULL이므로 $ 시작 부터 문자열의 끝까지 위치를 나타냅니다.

strcspn을 이해하는 방법?

strcspn 함수는 주어진 String $ haystack 으로 시작하여 $ charlist 의 문자에 속하지 않는 첫 번째 문자를 찾습니다. 그런 다음이 캐릭터의 위치를 ​​반환합니다. 이 위치는 문자열에서 문자의 인덱스 위치입니다 (0부터 시작).

예를 들어, 문자열 ABCDEF 가 있고 문자 세트가 ABC 라고 가정하면 strcSpn은 문자 세트 ABC 에 속하지 않는 첫 번째 문자의 위치, 즉 문자열 3에서 D 의 인덱스 위치를 반환합니다.

샘플 코드

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 샘플 문자열</span></span><span>
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"abcdef"</span></span><span>;
</span><span><span class="hljs-comment">// 문자 세트를 정의하십시오</span></span><span>
</span><span><span class="hljs-variable">$charlist</span></span><span> = </span><span><span class="hljs-string">"abc"</span></span><span>;

</span><span><span class="hljs-comment">// 사용 strcspn 함수는 문자 세트에 속하지 않는 첫 번째 위치를 찾습니다.</span></span><span>
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-variable">$charlist</span></span><span>);

</span><span><span class="hljs-comment">// 출력 결과</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"캐릭터 세트에없는 첫 번째 캐릭터 위치는 다음과 같습니다.: "</span></span><span> . </span><span><span class="hljs-variable">$position</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

산출:

 <span><span><span class="hljs-section">캐릭터 세트에없는 첫 번째 캐릭터 위치는 다음과 같습니다.: 3</span></span><span>
</span></span>

이 예에서, 문자열 "abcdef"A , BC 에서 시작하여 첫 번째 문자 D가 발생할 때까지 문자 세트 ABC 에 있지 않으므로 반환 된 위치는 3입니다.

stracspn 의 실제 적용

  1. 문자가 문자 세트에 속하는지 확인 : 데이터 처리 또는 검증 중에 StrcSpn은 입력 데이터에 불법 문자 또는 바람직하지 않은 문자가 포함되어 있는지 여부를 결정할 수 있습니다. 예를 들어, 사용자 이름에 문자 나 숫자 만 포함되어 있는지 확인하십시오.

  2. 기판 추출 : 문자열에서 특정 문자 앞에 모든 문자를 추출 해야하는 경우 strcspnsubstr 함수를 결합하여 구현할 수 있습니다. 예를 들어 첫 번째 숫자 앞에 모든 문자를 추출하려는 경우

     <span><span><span class="hljs-meta">&lt;?php</span></span><span>
    </span><span><span class="hljs-variable">$input</span></span><span> = </span><span><span class="hljs-string">"abc123xyz"</span></span><span>;
    </span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>, </span><span><span class="hljs-string">'0123456789'</span></span><span>);
    </span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-variable">$position</span></span><span>);
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$result</span></span><span>; </span><span><span class="hljs-comment">// 산출 "abc"</span></span><span>
    </span><span><span class="hljs-meta">?&gt;</span></span><span>
    </span></span>

    이 코드는 "ABC"가 숫자 1 전에 모든 문자를 추출하기 때문에 반환합니다.

  3. 특수 문자 세트 처리 : strcspn은 문자열에서 특수 문자 또는 공백 문자를 찾아야하는 경우에도 매우 유용합니다. 예를 들어, 문자열에서 첫 번째 공간 또는 구두점의 위치를 ​​찾으십시오.

     <span><span><span class="hljs-meta">&lt;?php</span></span><span>
    </span><span><span class="hljs-variable">$input</span></span><span> = </span><span><span class="hljs-string">"hello, world!"</span></span><span>;
    </span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>, </span><span><span class="hljs-string">' ,.!'</span></span><span>);
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"첫 번째 비 공간、콤마、기간、느낌표의 캐릭터 위치는 다음과 같습니다: "</span></span><span> . </span><span><span class="hljs-variable">$position</span></span><span>;
    </span><span><span class="hljs-meta">?&gt;</span></span><span>
    </span></span>

    이 코드는 몇 가지 일반적인 구두점 마크를 걸러 내고 문자열의 실제 내용을 반환하는 데 사용될 수 있습니다.

결론적으로

STRCSPN 은 강력한 PHP 문자열 처리 기능으로 개발자가 주어진 문자 세트에 속하지 않는 문자열의 문자 위치를 정확하게 찾을 수 있도록 도와줍니다. 실제 개발에서 특히 문자열 검증 및 구문 분석과 같은 시나리오에서 STRCSPN은 코드의 효율성과 가독성을 최적화하는 데 사용할 수있는 매우 실용적인 도구입니다. 이 기능을 마스터하면 문자열 작업이보다 유연하고 효율적 일 수 있습니다.