]> granicus.if.org Git - python/commitdiff
Add third arg to split(). Add capwords() -- which uses that.
authorGuido van Rossum <guido@python.org>
Tue, 11 Jun 1996 18:45:15 +0000 (18:45 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 11 Jun 1996 18:45:15 +0000 (18:45 +0000)
Lib/regsub.py

index 507e542882ff2a628627294bd408a95a094881fe..6dbe8dd92cd6fb4e6b50f846030466f888296e2b 100644 (file)
@@ -50,8 +50,10 @@ def gsub(pat, repl, str):
 # Split string str in fields separated by delimiters matching pattern
 # pat.  Only non-empty matches for the pattern are considered, so e.g.
 # split('abc', '') returns ['abc'].
+# When the optional 3rd argument is true, the separators are also
+# inserted to the list.
 
-def split(str, pat):
+def split(str, pat, retain = 0):
        prog = compile(pat)
        res = []
        start = next = 0
@@ -64,11 +66,23 @@ def split(str, pat):
                                break
                else:
                        res.append(str[start:a])
+                       if retain:
+                               res.append(str[a:b])
                        start = next = b
        res.append(str[start:])
        return res
 
 
+# Capitalize words split using a pattern
+
+def capwords(str, pat):
+       import string
+       words = split(str, pat, 1)
+       for i in range(0, len(words), 2):
+               words[i] = string.capitalize(words[i])
+       return string.joinfields(words, "")
+
+
 # Internal subroutines:
 # compile(pat): compile a pattern, caching already compiled patterns
 # expand(repl, regs, str): expand \digit escapes in replacement string