Return the first character from a string.

Expected Params:
string   string
lower    boolean  return string in lower case.  defaults to false

@return string
968675
protected function firstLetter()
    {
        $string = trim((string) $this->getParameter('string'));
        $lower = (boolean) $this->getParameter('lower');
        return StringUtils::firstLetter($string, $lower);
    }
430875
public static String toLowerFirstChar(final String str)
    {
        return Character.toLowerCase(str.charAt(0)) + str.substring(1);
    }
1050816
private static String lcFirst(String s)
    {
        if (s == null || s.isEmpty())
        {
            return s;
        }

        return Character.toLowerCase(s.charAt(0))
                + (s.length() == 1 ? "" : s.substring(1));
    }
943225
public static String or(final String first, final String second) {
    final StringBuilder buffer = new StringBuilder();
    for (int i = 0; i < first.length(); i++) {
      if ('0' == first.charAt(i) && '0' == second.charAt(i)) {
        buffer.append('0');
      } else {
        buffer.append('1');
      }
    }
    return buffer.toString();
  }
404266
public function lowerCaseFirst()
    {
        return $this->cloneInstance(
            function (StringObject $new) {
                $new->string = Mbstring::lcfirst($new->string, $this->encoding);
            }
        );
    }
700233
@NotNull
    private static String getLowerCaseString(@NotNull final String string) {
        return StringUtils.strip(string).toLowerCase();
    }
296193
public function lowerCaseFirst()
    {
        $first = UTF8::substr($this->scalarString, 0, 1, $this->encoding);

        $rest = UTF8::substr
        (
            $this->scalarString,
            1,
            $this->getLength() - 1,
            $this->encoding
        );

        return $this->newSelf(UTF8::strtolower($first, $this->encoding).$rest);
    }
69113
static function getWords($string, $lowercase = false) {

		$string = self::clean($string, ' ');

		// before an upper and a lower. FBar -> F Bar
		$string = preg_replace('/(.)([A-Z])([a-z])/', '$1 $2$3', $string);

		// between a lower and an upper. fooB -> foo B
		$string = preg_replace('/([a-z])([A-Z])/', '$1 $2', $string);

		// after any sequence of numbers.  45times -> 45 times
		$string = preg_replace('/([0-9])([^0-9])/', '$1 $2', $string);

		if ($lowercase) {
			$string = strtolower($string);
		}

		do {
			$string = str_replace('  ', ' ', $string, $count);
		} while ($count > 0);

		return explode(' ', $string);
	}
385525
public static Alphabet getByFirstLetterOfName(char letter) {
        letter = Character.toLowerCase(letter);
        for (Alphabet alphabet : alphabetsByName.values())
            if (alphabet.getAlphabetName().charAt(0) == letter)
                return alphabet;
        throw new IllegalArgumentException("No alphabet starting with letter: " + letter);
    }
966845
public static function stringToValue($string)
	{
		if($string == '')
		{
			return $string;
		}
		if(is_float($string))
		{
			return (float) $string;
		}
		if(is_int($string))
		{
			return (int) $string;
		}
		if(strtolower($string) == 'true')
		{
			return true;
		}
		if(strtolower($string) == 'false')
		{
			return false;
		}
		if(strtolower($string) == 'null')
		{
			return NULL;
		}
		
		return $string;
	}
644441
public static String getFirstLowerName(String name) {
        if (StringUtils.isBlank(name)) {
            return null;
        }
        String firstChar = name.substring(0, 1).toLowerCase();
        return firstChar + name.substring(1);
    }
667973
public String convertString(String string)
    {        
        int start;
        int end = 0;
        while ((start = string.indexOf("k", end)) > 0)
        {
            end = start + 1;
            char ch = string.charAt(start - 1);
            if ((ch != '.') && (ch != ' '))
                continue;
            ch = string.charAt(start + 1);
            if (!Character.isUpperCase(ch))
                continue;
            boolean isUpper = false;
            for (; end < string.length(); end++)
            {
                 ch = string.charAt(end);
                if (!Character.isJavaIdentifierPart(ch))
                    break;
                if (!Character.isUpperCase(ch))
                    isUpper = true;
            }
            if (!isUpper) if ((end - start) >= 3)
                continue;
            if (end >= string.length())
                break;

            String newName = convertNameToConstant(string.substring(start+1, end));
            
            string = string.substring(0, start) + newName + string.substring(end);

        }
        return string;
    }
141575
def FromString(self, string):
    """"""
    if string.lower() in ("false", "no", "n"):
      return False

    if string.lower() in ("true", "yes", "y"):
      return True

    raise TypeValueError("%s is not recognized as a boolean value." % string)
186478
public static String toFirstLower( String name ) {
        if ( isEmpty( name )) {
            return name;
        }
        return "" + name.toLowerCase( Locale.ROOT ).charAt(0) + name.substring(1);
    }
517298
public static function lcFirst($string)
    {
        $lcFirst = static::sub($string, 0, 1);
        $lcFirst = static::low($lcFirst);

        return $lcFirst . static::sub($string, 1);
    }
1220147
public static int findFirstOf(String string, String chars, int start, int end) {
        for (int i = start; i < end; i++) {
            char c = string.charAt(i);
            if (chars.indexOf(c) != -1) {
                return i;
            }
        }
        return end;
    }
731078
final public static function firstCharacter($strString)
    {
        if (defined('QCUBED_ENCODING')) {
            if (mb_strlen($strString, QCUBED_ENCODING) > 0) {
                return mb_substr($strString, 0, 1, QCUBED_ENCODING);
            } else {
                return null;
            }
        } else {
            if (strlen($strString)) {
                return $strString[0];
            } else {
                return null;
            }
        }
    }