如何在某个角色之后获得所有内容?
我有一个字符串,我想在某个值之后获取所有内容。该字符串始终以一组数字开头,然后以下划线开头。我想在下划线之后获取字符串的其余部分。例如,如果我有以下字符串和我想要返回的内容:
"123_String" -> "String"
"233718_This_is_a_string" -> "This_is_a_string"
"83_Another Example" -> "Another Example"
我该怎么做才能做这样的事情?
我有一个字符串,我想在某个值之后获取所有内容。该字符串始终以一组数字开头,然后以下划线开头。我想在下划线之后获取字符串的其余部分。例如,如果我有以下字符串和我想要返回的内容:
"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);
}
strtok
是这类事情的一个被忽视的功能。它意味着非常快。
$s = '233718_This_is_a_string';
$firstPart = strtok( $s, '_' );
$allTheRest = strtok( '' );
像这样的空字符串将强制返回字符串的其余部分。
注意,如果在“_”之后根本没有任何东西,您将获得一个值,如文档中所述,必须使用===进行测试,以区别于其他虚假值。FALSE
$allTheRest