PYTHON ucwords

is this article helpful?
Python replacement for PHP's ucwords [ edit | history ]
There is no direct equivalent. However,
import string
result = string.capwords(myStr)

is similar. It turns the first letter of each word to uppercase and it turns all the rest of the letters to lowercase. So the above code is actually equivalent to:
$result = ucwords(strtolower($myStr));

However, for most purposes, it should not make that much of a difference.

Another similar function is the title() method:
result = myStr.title()

It is the same as string.capwords(), except that it regards all non-alphabetic characters (including apostrophes) as word boundaries, instead of just whitespace.

Or an equivalent, except you loose adjacent whitespace characters.
import re
def ucwords (s):
    """Returns a string with the first character of each word in str 
    capitalized, if that character is alphabetic."""
    return " ".join([w[0].upper() + w[1:] for w in re.split('\s*', s)])

This *should* be as equivalent as possible:
from string import whitespace
def ucwords(source):
    >>> ucwords("Michael o'keefe")
    "Michael O'keefe"
    uc_source = ''
    for idx, a_char in enumerate(source):
        if a_char in whitespace or not a_char.isalpha():  # whitespace or not alpha is fine to add
            uc_source += a_char
        elif a_char.isalpha() and (not idx or source[idx - 1] in whitespace):  # we know we're alpha, and either the first character, or the one prev is whitespace
            uc_source += a_char.upper()
        else:  # whatever else we can be, let's add!
            uc_source += a_char
    return uc_source

PHP ucwords

PHP original manual for ucwords [ show | ]


(PHP 4, PHP 5)

ucwordsUppercase the first character of each word in a string


string ucwords ( string $str )

Returns a string with the first character of each word in str capitalized, if that character is alphabetic.

The definition of a word is any string of characters that is immediately after a whitespace (These are: space, form-feed, newline, carriage return, horizontal tab, and vertical tab).



The input string.

Return Values

Returns the modified string.


Example #1 ucwords() example

'hello world!';
$foo ucwords($foo);             // Hello World!

$bar 'HELLO WORLD!';
$bar ucwords($bar);             // HELLO WORLD!
$bar ucwords(strtolower($bar)); // Hello World!


Note: This function is binary-safe.

See Also