我花了很长时间试图弄清楚这一点!当我不知道会有多少个字符时,如何选择字符串中特定字符右侧的所有字符?
问问题
2457 次
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 回答