删除以大写字母开头的单词

时间:2012-11-14 17:59:17

标签: php

我有一个字符串,例如FastFood,如何删除Food并只留下第一个字?它也可能是VeryFastFood,然后就应该留下等等。

某些字符串可能包含3个大写的起始字母。我只需要留下这3个字母。例如YOUProblem - 必须是你。

3 个答案:

答案 0 :(得分:1)

这是一个hackish解决方案,我能想到的第一件事

<?php

$string = "VeryFastFood";

$found = false;
$tmp = '';
for($i = 0; $i < strlen($string); ++$i)
{
    $char = $string[$i];
    if(ctype_upper($char))
    {
        if($found)
        {
            break;
        }
        else
        {
            $found = true;
        }
    }
    $tmp .= $char;
}

$string = $tmp;
var_dump($string);

答案 1 :(得分:1)

这是一个可以为你做的功能:

function removeUppercase($word){
   if(ctype_upper(substr($word,0,3))) //Check for first 3 uppercase and return those
       return substr($word,0,3);
   for($a=1;$a<strlen($word);$a++){ //Otherwise loop through letters until uppercase is found
      if(ctype_upper($word[$a]))
         return substr($word,0,$a);
   }
   return $word;
}

答案 2 :(得分:1)

preg_match(/^[A-Z]([A-Z]{2}|[A-Z][a-zA-Z]|[a-z]{2})[a-z]*/), $stringToCheck, $matches);

$matches[0] //has your string

这样的事情应该有效。