我有一个像
这样的字符串$string="abc @def @xyz $ @def @xyz";
现在我想在$。之前获得@的最后一次出现的索引。
目前我正在使用
strrpos($string,'@');
strrpos的第三个参数将是起始索引,我们可以给出结束索引吗?
答案 0 :(得分:5)
使用else if (eventKind.equals (ENTRY_MODIFY))
{
if (event.count() == 2)
{
getListener(getDirPath(key)).onChange (FileChangeType.MODIFY, file.toString ());
}
/*capture first modify event*/
else if ((event.count() == 1) && (!modifySolver))
{
getListener(getDirPath(key)).onChange (FileChangeType.MODIFY, file.toString ());
modifySolver = true;
}
/*discard the second modify event*/
else if ((event.count() == 1) && (modifySolver))
{
modifySolver = false;
}
}
可以获得最后一次出现。有关function.strrpos
出于您的目的,您需要使用strrpos
展开字符串,并为爆炸数组的第一个$
启动strrpos
的应用。
试试这个:
index
答案 1 :(得分:2)
另一种选择: -
$string="abc @def @xyz $ @def @xyz";
$pos = strrpos($string, '@', -strrpos($string, '$'));
if($pos === false){
echo 'Not Found!';
}else{
echo $pos; // 9
}
注意: - 在$ sign之前,负号将返回最后一个'@'的索引。