summaryrefslogtreecommitdiffstats
path: root/Doc/lib
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2004-09-06 00:12:04 (GMT)
committerRaymond Hettinger <python@rcn.com>2004-09-06 00:12:04 (GMT)
commit18c69609648a13f4ff8ddc01fb4db63c3d537e42 (patch)
treeba9125f109432f97491382291c79f16601c764e8 /Doc/lib
parent1b262977a0dfc2869ed733cd6f696ee01b487a03 (diff)
downloadcpython-18c69609648a13f4ff8ddc01fb4db63c3d537e42.zip
cpython-18c69609648a13f4ff8ddc01fb4db63c3d537e42.tar.gz
cpython-18c69609648a13f4ff8ddc01fb4db63c3d537e42.tar.bz2
SF bug #901654: split method documentation can be improved
* Discuss the algorithmic distinctions between s.split() and s.split(sep). * Document the split behavior for empty strings. * Note the behavior when maxsplit is zero. * Include short examples.
Diffstat (limited to 'Doc/lib')
-rw-r--r--Doc/lib/libstdtypes.tex18
1 files changed, 16 insertions, 2 deletions
diff --git a/Doc/lib/libstdtypes.tex b/Doc/lib/libstdtypes.tex
index e97009e..2f54cae 100644
--- a/Doc/lib/libstdtypes.tex
+++ b/Doc/lib/libstdtypes.tex
@@ -750,8 +750,22 @@ string this method is called on.
\begin{methoddesc}[string]{split}{\optional{sep \optional{,maxsplit}}}
Return a list of the words in the string, using \var{sep} as the
delimiter string. If \var{maxsplit} is given, at most \var{maxsplit}
-splits are done. If \var{sep} is not specified or \code{None}, any
-whitespace string is a separator.
+splits are done. (thus, the list will have at most \code{\var{maxsplit}+1}
+elements). If \var{maxsplit} is not specified or is zero, then there
+is no limit on the number of splits (all possible splits are made).
+Consecutive delimiters are not grouped together and are
+deemed to delimit empty strings (for example, \samp{'1,,2'.split(',')}
+returns \samp{['1', '', '2']}. The \var{sep} argument may consist of
+multiple characters (for example, \samp{'1, 2, 3'.split(', ')} returns
+\samp{['1', '2', '3']}. Splitting an empty string with a specified
+separator returns an empty list.
+
+If \var{sep} is not specified or is \code{None}, a different splitting
+algorithm is applied. Words are separated by arbitrary length strings of
+whitespace characters (spaces, tabs, newlines, returns, and formfeeds).
+Consecutive whitespace delimiters are treated as a single delimiter
+(\samp{'1 2 3'.split()} returns \samp{['1', '2', '3']}. Splitting an
+empty string returns \samp{['']}.
\end{methoddesc}
\begin{methoddesc}[string]{splitlines}{\optional{keepends}}