我正在尝试从PHP中的字符串中检索前几个大写字母,但我不确定是否有特定的功能来执行此操作。我是否应该使用正则表达式?如果是这样,怎么样?
这是一个应该返回的示例(INPUT => OUTPUT):
ABCD => ABCD
Abcd => A
ABcd => AB
aBCD => empty string ""
abcd => empty string ""
任何帮助将不胜感激:)
-Chris
答案 0 :(得分:6)
在这种情况下,正则表达式可以帮到你。试试这个:
preg_match("/^([A-Z]+)/", $input, $matches)
如果返回true,则大写字母应为$ matches [1]。
答案 1 :(得分:2)
我认为你应该使用:
preg_match('/^[A-Z]+/',$input, $matches);
$matches[0];//here are your capital
答案 2 :(得分: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] =>
)