2016-10-11 3 views
-1

の次の発生との間の文字列を取得し、私の文字列は次のとおりです。DELIMxxxyyyzzzaaabbbcc,DELIMaaabbcccxxxyyyzzz,DELIMzzzyyyxxxaaabbbccc,DELIMyyyaaabbb,PHP - 位置と文字例えば

あなたは、このデータが区切られたグループに編成されて見ることができます。私は位置(この場合は24)と私が「DELIM」であることを知っている次の区切り文字を与えられている2番目のグループ(たとえば)を抽出したいと思います。

これを取得するのに、substrstrposのいずれかの組み合わせを使用しますか?

+1

文字列の任意の位置を指定し、文字列内の次の区切り文字を取得することを意味しますか? – rbr94

+0

はい - 正しい:) – Warren

+0

あなたの質問のタイトルは内容と一致していないようです。 – jeroen

答えて

0

使用strposとstrposを使用することができます。次に、substrを使用して、2つの位置の間の文字列を選択して区切りグループを取得することができます。

$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); 
0

あなたの区切りのグループの開始と終了位置を選択するために、オフセット

$mystring = 'DELIMxxxyyyzzzaaabbbcc,DELIMaaabbcccxxxyyyzzz,DELIMzzzyyyxxxaaabbbccc,DELIMyyyaaabbb,' 
$pos = strpos($mystring, 'DELIM', 24+1 + strlen('DELIM')); 

$myPart = substr($mystring, 24, $pos); 
+1

これは、2番目のグループの一部だけを抽出します。質問のタイトルと内容は矛盾しているようですね:-) – jeroen

+0

私は答えを更新しています...とにかくコンセプトは同じです。オフセットとレグント – scaisEdge

+0

私は実際に始めに意味しました、あなたは位置の前に文字を取得しません24/xxは2番目のグループ(この場合は...)の一部である可能性があります。 – jeroen

関連する問題