1. ホーム
  2. php

[解決済み] 特定のキャラクター以降を全て入手する方法は?

2022-02-10 05:29:31

質問

ある文字列を持っていて、ある値以降をすべて取得したい。文字列は常に数字で始まり、アンダースコアが付きます。アンダースコアの後の文字列を取得したいです。例えば、以下のような文字列があったとして、何を返したいか。

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

このような場合、どうすればいいのでしょうか?

どのように解決するのですか?

その strpos() はアンダースコアのオフセットを見つけ、substrはそのインデックスに1を足したものからすべてを取得します。

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


また、アンダースコア文字( _ )を取得しようとする前に、文字列の中に存在する場合は、次のようにします。

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