有没有人知道如何从字符串中删除前几个字符并在PHP中删除它们。
与字符串“str_filename”类似,我需要删除“str_”并保存“文件名”。
但它必须删除尽可能多的字符才能达到“_”。
换句话说,我需要删除所有字符,直到并包括字符串中的第一个“_”。
答案 0 :(得分:5)
你可以这样做:
if (strpos($string, '_') !== false)
$string = substr($string, strpos($string, '_') + 1);
它的工作原理如您所见:http://codepad.org/g12ENLGY
注意:if
非常有用,因为您的字符串不能包含'_'字符。
答案 1 :(得分:1)
你可以使用类似的东西:
$files = explode("_", $filename);
echo $files[1];
因此,这将在_
字符上拆分字符串,然后回显第二部分(在下划线之后)。
这假设只有一个下划线。
答案 2 :(得分:1)
除了使用explode
和substr
之外的其他解决方案,您可以使用正则表达式来解决它:
^(?:[^_]*_)(.*)$
以下是使用它的示例:
$str = "str_filename";
$pattern = "/^(?:[^_]*_)(.*)$/";
preg_match($pattern, $str, $matches);
echo $matches[1]; //prints "filename"