2

PHP の文字列から最初の数文字の大文字を取得しようとしていますが、これを行うための特定の関数があるかどうかはわかりません。おそらく正規表現を使用する必要がありますか?もしそうなら、どのように?

返されるものの例を次に示します (INPUT => OUTPUT):

ABCD => ABCD
Abcd => A
ABcd => AB
aBCD => empty string ""
abcd => empty string ""

どんな助けでも大歓迎です:)

-クリス

4

3 に答える 3

7

この場合、正規表現がうまく機能します。これを試して:

preg_match("/^([A-Z]+)/", $input, $matches)

これが true を返す場合、大文字は $matches[1] にあるはずです。

于 2011-06-29T08:51:30.610 に答える
2

私はあなたが使うべきだと思います:

  preg_match('/^[A-Z]+/',$input, $matches);

  $matches[0];//here are your capital 
于 2011-06-29T08:54:37.910 に答える
2

試す:

$input = array(
    'ABCD',
    'Abcd',
    'ABcd',
    'aBCD',
    'abcd',
);

$output = array_map(function ($str) {
    return preg_replace('/^([A-Z]*).*/', '$1', $str);
}, $input);

print_r($output);

出力:

Array
(
    [0] => ABCD
    [1] => A
    [2] => AB
    [3] => 
    [4] => 
)
于 2011-06-29T08:57:17.510 に答える