如何得到一个特定的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