如何选择字符串中特定字符右侧的所有字符 - PHP

时间:2013-05-02 21:49:16

标签: php string substr strpos chars

我花了很长时间试图解决这个问题!当我不知道会有多少个字符时,如何选择字符串中特定字符右侧的所有字符?

7 个答案:

答案 0 :(得分:3)

// find the position of the first occurrence of the char you're looking for
$pos = strpos($string, $char);

// cut the string from that point
$result = substr($string, $pos + 1);

答案 1 :(得分:2)

你也可以这样做:

$str = 'some_long_string';
echo explode( '_', $str, 2)[1]; // long_string

答案 2 :(得分:2)

我不确定这是否符合您的需求,但是:

$string = explode(',','I dont know how to, get this part of the text');

$ string [1]总是不是分隔符的右侧吗?除非你在字符串中有多个相同的...抱歉,如果它不是你想要的。

答案 3 :(得分:1)

使用strpos查找特定字符的位置,然后使用substr抓取其后的所有字符。

答案 4 :(得分:1)

只需使用strstr

即可
$data = 'Some#Ramdom#String';
$find = "#" ;
$string = substr(strstr($data,$find),strlen($find));
echo $string;

输出

Ramdom#String

答案 5 :(得分:1)

您必须使用带负起始整数

的substr
$startingCharacter = 'i';
$searchString = 'my test string';
$positionFromEnd = strlen($searchString)
    - strpos($searchString, $startingCharacter);
$result = substr($searchString, ($positionFromEnd)*-1);

或在函数中:

function strRightFromChar($char, $string) {
    $positionFromEnd = strlen($string) - strpos($string, $char);
    $result = substr($string, ($positionFromEnd)*-1);
    return $result;
}
echo strRightFromChar('te', 'my test string');

(请注意,您也可以搜索一组字符)

答案 6 :(得分:-1)

假设我想在我的字符串中选择第一个下划线右侧的所有字符:

$stringLength = strlen($string_I_want_to_strip);
$limiterPos = strpos($string_I_want_to_strip, "_");
$reversePos = $limiterPos - $stringLength + 1;
$charsToTheRight = substr($string_I_want_to_strip, $reversePos, $limiterPos);