-2

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

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

4

3 回答 3

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

像这样的东西应该工作。

于 2012-11-14T18:55:08.880 回答
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;
}
于 2012-11-14T18:28:15.097 回答
1

这是一个骇人听闻的解决方案,我首先想到的

<?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);
于 2012-11-14T18:05:57.837 回答