-2

FastFoodなどの文字列がありますが、Foodを削除して、最初の単語だけを残すにはどうすればよいですか?また、VeryFastFoodの場合もありますが、Veryを残す必要があります。

一部の文字列には、大文字の開始文字が3つ含まれている場合があります。この3文字だけを残す必要があります。たとえば、YOUProblem-あなたでなければなりません。

4

3 に答える 3

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 に答える
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
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 に答える