函数只返回字符串开头的大写字母?

发布于 2024-11-17 13:38:28 字数 279 浏览 6 评论 0原文

我正在尝试从 PHP 中的字符串中检索前几个大写字母,但我不确定是否有特定的函数可以执行此操作。我应该诉诸使用正则表达式吗?如果是这样,怎么办?

以下是应返回内容的示例(INPUT => OUTPUT):

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

任何帮助将不胜感激:)

-Chris

I'm trying to retrieve the first couple of capital letters from a string in PHP, but I'm not sure if there's a specific function to do this. Should I perhaps resort to using regex? If so, how?

Here's an example of what should be returned (INPUT => OUTPUT):

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

Any help would be appreciated :)

-Chris

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

我是男神闪亮亮 2024-11-24 13:38:28

在这种情况下,正则表达式可以为您解决问题。试试这个:

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

如果返回 true,那么你的大写字母应该在 $matches[1] 中。

Regex would do the trick for you in this case. Try this:

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

If this returns true, your capital letters should be in $matches[1].

画▽骨i 2024-11-24 13:38:28

我认为你应该使用:

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

  $matches[0];//here are your capital 

I think you should use:

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

  $matches[0];//here are your capital 
池木 2024-11-24 13:38:28

尝试:

$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] => 
)

Try:

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

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

print_r($output);

Output:

Array
(
    [0] => ABCD
    [1] => A
    [2] => AB
    [3] => 
    [4] => 
)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文