gpt4 book ai didi

php - 查找某个位置之前第一次出现的子串

转载 作者:行者123 更新时间:2023-12-05 08:00:14 25 4
gpt4 key购买 nike

在 PHP 中,如果我有一个长字符串,IE 10'000 个字符,您会建议我如何查找某个字符串在给定位置前后的第一次出现。

IE,如果我有字符串:

BaaaaBcccccHELLOcccccBaaaaB

我可以使用 strpos 找到 HELLO 的位置​​。那么我如何才能找到 B 在 HELLO 之前第一次出现和 B 在 HELLO 之后第一次出现的位置呢?

最佳答案

您可以使用 stripos() 和 strripos() 来查找字符串中子字符串的第一次出现。您还可以为 strripos() 函数提供一个负偏移量,以相反的顺序(从右到左)进行搜索。 strripos() with negative offset

$body = "BaaaaBcccccHELLOcccccBaaaaB";
$indexOfHello = stripos($body, 'Hello');
if ($indexOfHello !== FALSE)
{
// First Occurrence of B before Hello
$indexOfB= stripos(substr($body,0,$indexOfHello),'B',($indexOfHello * -1));
print("First Occurance of B before Hello is ".$indexOfB."\n") ;

// First Occurrence of B before Hello (in reverse order)
$indexOfB= strripos($body,'B',($indexOfHello * -1));
print("First Occurrence of B before Hello (in reverse order) is ".$indexOfB."\n") ;

// First Occurrence of B after Hello
$indexOfB= stripos($body,'B',$indexOfHello);
print("First Occurance of B after Hello is ".$indexOfB."\n") ;
}

关于php - 查找某个位置之前第一次出现的子串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18729657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com