0

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

4

7 回答 7

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);
于 2013-05-02T21:53:32.770 回答
2

你也可以这样做:

$str = 'some_long_string';
echo explode( '_', $str, 2)[1]; // long_string
于 2013-05-02T21:53:50.860 回答
2

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

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

$string[1] 不总是在分隔符的右边吗?除非您在字符串中有多个相同的...对不起,如果它不是您要查找的内容。

于 2013-05-02T21:55:17.877 回答
1

只需使用strstr

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

输出

Ramdom#String
于 2013-05-02T22:12:02.550 回答
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');

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

于 2013-05-02T22:41:28.507 回答
1

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

于 2013-05-02T21:54:02.653 回答
-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);
于 2013-05-02T21:49:15.893 回答