例如,我的字符串是:DELIMxxxyyyzzzaaabbbcc,DELIMaaabbcccxxxyyyzzz,DELIMzzzyyyxxxaaabbbccc,DELIMyyyaaabbb,
您可以看到此数据按分隔组进行组织。我想提取第二组(例如)我得到的位置(在本例中为24)和下一个我知道为“DELIM”的分隔符。
我会使用substr
和strpos
或其他人的组合来获取此内容吗?
答案 0 :(得分:0)
您可以使用带有偏移的strpos
$mystring = 'DELIMxxxyyyzzzaaabbbcc,DELIMaaabbcccxxxyyyzzz,DELIMzzzyyyxxxaaabbbccc,DELIMyyyaaabbb,'
$pos = strpos($mystring, 'DELIM', 24+1 + strlen('DELIM'));
$myPart = substr($mystring, 24, $pos);
答案 1 :(得分:0)
使用strpos
选择分隔组的开始和结束位置。然后,您可以使用substr
通过选择这两个位置之间的字符串来获取已分隔的组。
$offset = 4;
$start = strpos($mystring, 'DELIM', $offset); //select start point
$end = strpos($mystring, 'DELIM', $start+5); //select end point by selecting next delimiter
$substr = substr($mystring, $start, $end-$start);