-2

サンプル文字列

Rpt#_SPACE_MINVTAN<br_SPACE_/> _SPACE__SPACE__SPACE__SPACE__SPACE_01212_SPACE__SPACE_

1行目の終わりに改行があります。2行目は常に5つのスペース、次に5桁の数字、さらに2つのスペースがあります。これで、貼り付けたものの前にランダムなテキストが追加され、後にランダムなテキストが追加されました。

顧客番号の後の_SPACE_の数は2以上でなければなりません。

私が探しているのはこれだと思います:

大きな文字列の真ん中で見つける_SPACE__SPACE__SPACE__SPACE__SPACE_012345_SPACE__SPACE_

数値を変数に抽出します。

4

4 に答える 4

1

特定の種類の文字列に対する別の解決策:ここで

$string = "Rpt#_SPACE_MINVTAN<br_SPACE_/>_SPACE__SPACE__SPACE__SPACE__SPACE_01212_SPACE__SPACE_";

私はこれをテストしました、そしてそれは確かに働きます。

<?php
$text = "Rpt#_SPACE_MINVTAN<br_SPACE_/>_SPACE__SPACE__SPACE__SPACE__SPACE_01212_SPACE__SPACE_";
$text_array = explode("<br_SPACE_/>", $text);
$array1 = explode("_SPACE_", $text_array[0]);
echo $array1[0] . ' and ' . $array1[1];
$number = trim($text_array[1], "__SPACE__");
echo '<br>and ' . $number;
?>

$array1[0] is the 'Rpt#'
$array1[1] is the 'MINVTAN'
$number is '01212'

このコードをファイルに配置し、それが機能することを確認したら、解決策としてこれをチェックして、投稿が回答されたことを他の人に知らせることを忘れないでください。他にご不明な点がございましたら、お気軽にお問い合わせください。そして、今日もいい日をお過ごしください。

于 2013-01-08T00:27:48.757 に答える
0

中央に5桁、周囲にスペースがある以下のような文字列の場合、

_SPACE__SPACE__SPACE__SPACE__SPACE_012345_SPACE__SPACE_

preg_match()以下のように使用できます。

$string='_SPACE_SPACE....'; //your string here

preg_match('/\s*(\d{5})\s*/',$string,$matches);

print_r($matches); //$matches[1] will have the matched digits

編集:

OPによると、テキストが実際にSPACE_の場合、コードは次のようになります。

$string='_SPACE__SPACE__SPACE__SPACE__SPACE_12345_SPACE__SPACE_'; //your string here

preg_match('/[SPACE_]*(\d{5})[SPACE_]*/',$string,$matches);

print_r($matches); //$matches[1] will have the matched digits
于 2013-01-07T23:46:59.057 に答える
0

より具体的な解決策が必要な場合は、より具体的なコードまたは情報を投稿してください。

しかし、1つの解決策は次のようになります。

<?php
$trimmed_text = trim($text, "__SPACE__");
?>
于 2013-01-07T23:38:45.737 に答える
0

これは醜いです:

function onlyNumber($str) { 
     $numbers = array(0,1,2,3,4,5,6,7,8,9);
     $icky = array('_','-','#','<','>','/');
     $num = "";
     for($i=0;$i<strlen($str);$i++) { 
            if(!ctype_alpha($str[$i]) && !in_array($str[$i],$icky) && in_array(intval($str[$i]),$numbers,true)) { 
                $num .= $str[$i];
            }
     }
     return trim($num);
}
于 2013-01-08T00:19:38.640 に答える