如何得到一个特定的angular色后的一切?

我有一个string,我希望得到一切后,一定的价值。 string总是以一组数字开始,然后是一个下划线。 我想在下划线之后得到string的其余部分。 所以例如,如果我有以下string,我想要返回:

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

我怎么能做这样的事情呢?

strpos()find下划线的偏移量,然后substr抓取从该索引加1开始的所有内容。

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

如果您还想在查询string之前检查下划线字符( _ )是否存在,可以使用以下命令:

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

这里是使用explode的方法:

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

要么:

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

通过在explode()limit参数指定2 ,它将返回数组,其中包含由string分隔符分隔的2个最大元素。 返回第二个元素( [1] ),将给出string的其余部分。


这是另外一个使用strpos (如@flu所示 ):

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