文字列内の任意の数値の最初の出現位置を見つけるためのアルゴリズムを誰かが手伝ってくれますか?
Web で見つけたコードが機能しません。
function my_offset($text){
preg_match('/^[^\-]*-\D*/', $text, $m);
return strlen($m[0]);
}
echo my_offset('[HorribleSubs] Bleach - 311 [720p].mkv');
文字列内の任意の数値の最初の出現位置を見つけるためのアルゴリズムを誰かが手伝ってくれますか?
Web で見つけたコードが機能しません。
function my_offset($text){
preg_match('/^[^\-]*-\D*/', $text, $m);
return strlen($m[0]);
}
echo my_offset('[HorribleSubs] Bleach - 311 [720p].mkv');
function my_offset($text) {
preg_match('/\d/', $text, $m, PREG_OFFSET_CAPTURE);
if (sizeof($m))
return $m[0][1]; // 24 in your example
// return anything you need for the case when there's no numbers in the string
return strlen($text);
}
function my_ofset($text){
preg_match('/^\D*(?=\d)/', $text, $m);
return isset($m[0]) ? strlen($m[0]) : false;
}
これでうまくいくはずです。元のコード-
では最初の数字の前に a が必要でしたが、それが問題だったのでしょうか?