programing

어떻게 하면 모든 것을 특정 캐릭터를 따라잡을 수 있을까요?

shortcode 2023. 1. 19. 07:21
반응형

어떻게 하면 모든 것을 특정 캐릭터를 따라잡을 수 있을까요?

저는 끈이 있어서 모든 것을 일정한 값으로 사고 싶습니다.문자열은 항상 숫자 집합으로 시작하여 밑줄로 시작합니다.나머지 끈은 밑줄 뒤에 붙이고 싶어요.예를 들어, 다음과 같은 문자열이 있고 반환되는 문자열이 있는 경우:

"123_String" -> "String"
"233718_This_is_a_string" -> "This_is_a_string"
"83_Another Example" -> "Another Example"

어떻게 하면 이런 일을 할 수 있을까요?

는 언더스코어의 오프셋을 검출하고 그 인덱스에 1을 더한 값을 모두 가져옵니다.

$data = "123_String";    
$whatIWant = substr($data, strpos($data, "_") + 1);    
echo $whatIWant;

밑줄 문자(_를 취득하기 전에 문자열에 존재합니다.다음 항목을 사용할 수 있습니다.

if (($pos = strpos($data, "_")) !== FALSE) { 
    $whatIWant = substr($data, $pos+1); 
}

strtok간과되는 기능이라고 생각합니다.그것은 꽤 빠르다고 여겨진다.

$s = '233718_This_is_a_string';
$firstPart = strtok( $s, '_' );
$allTheRest = strtok( '' ); 

이와 같은 빈 문자열은 나머지 문자열을 강제로 반환합니다.

'_' 뒤에 아무것도 없으면 NB를 얻을 수 있습니다.FALSE의 가치를 인정하다.$allTheRest이 값은 문서에 명시된 바와 같이 ===로 테스트하여 다른 거짓 값과 구별해야 합니다.

다음은 을 사용하는 방법입니다.explode:

$text = explode('_', '233718_This_is_a_string', 2)[1]; // Returns This_is_a_string

또는 다음과 같이 입력합니다.

$text = end((explode('_', '233718_This_is_a_string', 2)));

지정함으로써2를 위해limit의 파라미터는 문자열 딜리미터로 구분된2개의 최대 요소를 포함하는 배열을 반환합니다.두 번째 요소 반환([1]나머지 문자열이 표시됩니다.


다음은 를 사용한 또 다른 원라이너입니다.strpos(@flu에서 제안):

$needle = '233718_This_is_a_string';
$text = substr($needle, (strpos($needle, '_') ?: -1) + 1); // Returns This_is_a_string

strchr()을 사용합니다.예를 들어 파일 확장자를 찾으려면 다음 함수를 사용합니다.

$string = 'filename.jpg';
$extension = strrchr( $string, '.'); //returns "jpg"

strchr() 또는 strstr()을 사용하는 다른 간단한 방법은 다음과 같습니다.

$str = '233718_This_is_a_string';

echo ltrim(strstr($str, '_'), '_'); // This_is_a_string

이 경우 ltrim()만으로 충분합니다.

echo ltrim($str, '0..9_'); // This_is_a_string

그러나 문자열의 오른쪽 부분(_ 뒤에 있음)이 숫자로 시작되지 않는 경우에만 문자열이 잘립니다.

현의 첫 부분을 뽑아야 할 사람이 있다면 시도해 볼 수 있습니다.

쿼리:

$s = "This_is_a_string_233718";

$text = $s."_".substr($s, 0, strrpos($s, "_"));

출력:

this_is_a_string

$string = "233718_This_is_a_string";
$withCharacter = strstr($string, '_'); // "_This_is_a_string"
echo substr($withCharacter, 1); // "This_is_a_string"

한 마디로 그렇게 될 것이다.

echo substr(strstr("233718_This_is_a_string", '_'), 1); // "This_is_a_string"

모든 문자를 특정 문자 뒤에 가져오고 해당 문자가 문자열의 선두에 있는 경우 다음과 같이 쉬운 솔루션을 사용할 수 있습니다.

$value = substr( '123_String', strlen( '123_' ) );
echo $value; // String

기호 뒤에 문자열을 반환하거나 문자가 발생하지 않으면 원래 문자열을 반환하려면 다음 행을 사용합니다.

$newString = substr($string, (strrpos($string, '_') ?: -1) +1);

언급URL : https://stackoverflow.com/questions/11405493/how-to-get-everything-after-a-certain-character

반응형