blob: ff3f3be97cf1353349cbaeb2f437818656a032ae [file] [log] [blame]
Fred Drake295da241998-08-10 19:42:37 +00001\section{\module{string} ---
Fred Drakeffbe6871999-04-22 21:23:22 +00002 Common string operations}
Fred Drakeb91e9341998-07-23 17:59:49 +00003
Fred Drakeffbe6871999-04-22 21:23:22 +00004\declaremodule{standard}{string}
Fred Drakeb91e9341998-07-23 17:59:49 +00005\modulesynopsis{Common string operations.}
6
Barry Warsaw08b07de2004-08-25 03:09:58 +00007The \module{string} module contains a number of useful constants and classes,
Barry Warsaw8bee7612004-08-25 02:22:30 +00008as well as some deprecated legacy functions that are also available as methods
9on strings. See the module \refmodule{re}\refstmodindex{re} for string
10functions based on regular expressions.
Guido van Rossum5fdeeea1994-01-02 01:22:07 +000011
Barry Warsaw8bee7612004-08-25 02:22:30 +000012\subsection{String constants}
Guido van Rossum0bf4d891995-03-02 12:37:30 +000013
Andrew M. Kuchlingbe063022000-12-26 16:14:32 +000014The constants defined in this module are:
Guido van Rossum5fdeeea1994-01-02 01:22:07 +000015
Fred Drake960fdf92001-07-20 18:38:26 +000016\begin{datadesc}{ascii_letters}
17 The concatenation of the \constant{ascii_lowercase} and
18 \constant{ascii_uppercase} constants described below. This value is
19 not locale-dependent.
20\end{datadesc}
21
22\begin{datadesc}{ascii_lowercase}
23 The lowercase letters \code{'abcdefghijklmnopqrstuvwxyz'}. This
24 value is not locale-dependent and will not change.
25\end{datadesc}
26
27\begin{datadesc}{ascii_uppercase}
28 The uppercase letters \code{'ABCDEFGHIJKLMNOPQRSTUVWXYZ'}. This
29 value is not locale-dependent and will not change.
30\end{datadesc}
31
Guido van Rossum5fdeeea1994-01-02 01:22:07 +000032\begin{datadesc}{digits}
33 The string \code{'0123456789'}.
34\end{datadesc}
35
36\begin{datadesc}{hexdigits}
37 The string \code{'0123456789abcdefABCDEF'}.
38\end{datadesc}
39
40\begin{datadesc}{letters}
Fred Drake0682be42000-04-10 18:35:49 +000041 The concatenation of the strings \constant{lowercase} and
Fred Drake960fdf92001-07-20 18:38:26 +000042 \constant{uppercase} described below. The specific value is
43 locale-dependent, and will be updated when
44 \function{locale.setlocale()} is called.
Guido van Rossum5fdeeea1994-01-02 01:22:07 +000045\end{datadesc}
46
47\begin{datadesc}{lowercase}
48 A string containing all the characters that are considered lowercase
49 letters. On most systems this is the string
Guido van Rossum86751151995-02-28 17:14:32 +000050 \code{'abcdefghijklmnopqrstuvwxyz'}. Do not change its definition ---
Fred Drakecce10901998-03-17 06:33:25 +000051 the effect on the routines \function{upper()} and
Fred Drake960fdf92001-07-20 18:38:26 +000052 \function{swapcase()} is undefined. The specific value is
53 locale-dependent, and will be updated when
54 \function{locale.setlocale()} is called.
Guido van Rossum5fdeeea1994-01-02 01:22:07 +000055\end{datadesc}
56
57\begin{datadesc}{octdigits}
58 The string \code{'01234567'}.
59\end{datadesc}
60
Fred Drake480abc22000-09-18 16:48:13 +000061\begin{datadesc}{punctuation}
62 String of \ASCII{} characters which are considered punctuation
63 characters in the \samp{C} locale.
64\end{datadesc}
65
66\begin{datadesc}{printable}
67 String of characters which are considered printable. This is a
68 combination of \constant{digits}, \constant{letters},
69 \constant{punctuation}, and \constant{whitespace}.
70\end{datadesc}
71
Guido van Rossum5fdeeea1994-01-02 01:22:07 +000072\begin{datadesc}{uppercase}
73 A string containing all the characters that are considered uppercase
74 letters. On most systems this is the string
Guido van Rossum86751151995-02-28 17:14:32 +000075 \code{'ABCDEFGHIJKLMNOPQRSTUVWXYZ'}. Do not change its definition ---
Fred Drakecce10901998-03-17 06:33:25 +000076 the effect on the routines \function{lower()} and
Fred Drake960fdf92001-07-20 18:38:26 +000077 \function{swapcase()} is undefined. The specific value is
78 locale-dependent, and will be updated when
79 \function{locale.setlocale()} is called.
Guido van Rossum5fdeeea1994-01-02 01:22:07 +000080\end{datadesc}
81
82\begin{datadesc}{whitespace}
83 A string containing all characters that are considered whitespace.
84 On most systems this includes the characters space, tab, linefeed,
Guido van Rossum86751151995-02-28 17:14:32 +000085 return, formfeed, and vertical tab. Do not change its definition ---
Fred Drakecce10901998-03-17 06:33:25 +000086 the effect on the routines \function{strip()} and \function{split()}
87 is undefined.
Guido van Rossum5fdeeea1994-01-02 01:22:07 +000088\end{datadesc}
89
Barry Warsaw8bee7612004-08-25 02:22:30 +000090\subsection{Template strings}
Guido van Rossum5fdeeea1994-01-02 01:22:07 +000091
Barry Warsaw8bee7612004-08-25 02:22:30 +000092Templates are Unicode strings that can be used to provide string substitutions
93as described in \pep{292}. There is a \class{Template} class that is a
94subclass of \class{unicode}, overriding the default \method{__mod__()} method.
95Instead of the normal \samp{\%}-based substitutions, Template strings support
96\samp{\$}-based substitutions, using the following rules:
97
98\begin{itemize}
99\item \samp{\$\$} is an escape; it is replaced with a single \samp{\$}.
100
101\item \samp{\$identifier} names a substitution placeholder matching a mapping
102 key of "identifier". By default, "identifier" must spell a Python
103 identifier. The first non-identifier character after the \samp{\$}
104 character terminates this placeholder specification.
105
106\item \samp{\$\{identifier\}} is equivalent to \samp{\$identifier}. It is
107 required when valid identifier characters follow the placeholder but are
108 not part of the placeholder, e.g. "\$\{noun\}ification".
109\end{itemize}
110
111Any other appearance of \samp{\$} in the string will result in a
112\exception{ValueError} being raised.
113
114Template strings are used just like normal strings, in that the modulus
115operator is used to interpolate a dictionary of values into a Template string,
116e.g.:
117
118\begin{verbatim}
119>>> from string import Template
120>>> s = Template('$who likes $what')
121>>> print s % dict(who='tim', what='kung pao')
122tim likes kung pao
123>>> Template('Give $who $100') % dict(who='tim')
124Traceback (most recent call last):
125[...]
126ValueError: Invalid placeholder at index 10
127\end{verbatim}
128
129There is also a \class{SafeTemplate} class, derived from \class{Template}
130which acts the same as \class{Template}, except that if placeholders are
131missing in the interpolation dictionary, no \exception{KeyError} will be
132raised. Instead the original placeholder (with or without the braces, as
133appropriate) will be used:
134
135\begin{verbatim}
136>>> from string import SafeTemplate
137>>> s = SafeTemplate('$who likes $what for ${meal}')
138>>> print s % dict(who='tim')
139tim likes $what for ${meal}
140\end{verbatim}
141
142The values in the mapping will automatically be converted to Unicode strings,
143using the built-in \function{unicode()} function, which will be called without
144optional arguments \var{encoding} or \var{errors}.
145
146Advanced usage: you can derive subclasses of \class{Template} or
147\class{SafeTemplate} to use application-specific placeholder rules. To do
148this, you override the class attribute \member{pattern}; the value must be a
149compiled regular expression object with four named capturing groups. The
150capturing groups correspond to the rules given above, along with the invalid
151placeholder rule:
152
153\begin{itemize}
154\item \var{escaped} -- This group matches the escape sequence, i.e. \samp{\$\$}
155 in the default pattern.
156\item \var{named} -- This group matches the unbraced placeholder name; it
157 should not include the \samp{\$} in capturing group.
158\item \var{braced} -- This group matches the brace delimited placeholder name;
159 it should not include either the \samp{\$} or braces in the capturing
160 group.
161\item \var{bogus} -- This group matches any other \samp{\$}. It usually just
162 matches a single \samp{\$} and should appear last.
163\end{itemize}
164
165\subsection{String functions}
166
167The following functions are available to operate on string and Unicode
168objects. They are not available as string methods.
169
170\begin{funcdesc}{capwords}{s}
171 Split the argument into words using \function{split()}, capitalize
172 each word using \function{capitalize()}, and join the capitalized
173 words using \function{join()}. Note that this replaces runs of
174 whitespace characters by a single space, and removes leading and
175 trailing whitespace.
176\end{funcdesc}
177
178\begin{funcdesc}{maketrans}{from, to}
179 Return a translation table suitable for passing to
180 \function{translate()} or \function{regex.compile()}, that will map
181 each character in \var{from} into the character at the same position
182 in \var{to}; \var{from} and \var{to} must have the same length.
183
184 \warning{Don't use strings derived from \constant{lowercase}
185 and \constant{uppercase} as arguments; in some locales, these don't have
186 the same length. For case conversions, always use
187 \function{lower()} and \function{upper()}.}
188\end{funcdesc}
189
190\subsection{Deprecated string functions}
191
192The following list of functions are also defined as methods of string and
193Unicode objects; see ``String Methods'' (section
194\ref{string-methods}) for more information on those. You should consider
195these functions as deprecated, although they will not be removed until Python
1963.0. The functions defined in this module are:
Guido van Rossum5fdeeea1994-01-02 01:22:07 +0000197
198\begin{funcdesc}{atof}{s}
Fred Drake15f06662000-10-04 13:59:52 +0000199 \deprecated{2.0}{Use the \function{float()} built-in function.}
Fred Drakee8489761998-12-21 18:56:13 +0000200 Convert a string to a floating point number. The string must have
201 the standard syntax for a floating point literal in Python,
Fred Drake70a66c91999-02-18 16:08:36 +0000202 optionally preceded by a sign (\samp{+} or \samp{-}). Note that
203 this behaves identical to the built-in function
204 \function{float()}\bifuncindex{float} when passed a string.
205
Fred Drake0aa811c2001-10-20 04:24:09 +0000206 \note{When passing in a string, values for NaN\index{NaN}
Fred Drake70a66c91999-02-18 16:08:36 +0000207 and Infinity\index{Infinity} may be returned, depending on the
208 underlying C library. The specific set of strings accepted which
209 cause these values to be returned depends entirely on the C library
Fred Drake0aa811c2001-10-20 04:24:09 +0000210 and is known to vary.}
Guido van Rossum5fdeeea1994-01-02 01:22:07 +0000211\end{funcdesc}
212
Fred Drakecce10901998-03-17 06:33:25 +0000213\begin{funcdesc}{atoi}{s\optional{, base}}
Fred Drake15f06662000-10-04 13:59:52 +0000214 \deprecated{2.0}{Use the \function{int()} built-in function.}
Fred Drakee8489761998-12-21 18:56:13 +0000215 Convert string \var{s} to an integer in the given \var{base}. The
216 string must consist of one or more digits, optionally preceded by a
217 sign (\samp{+} or \samp{-}). The \var{base} defaults to 10. If it
218 is 0, a default base is chosen depending on the leading characters
219 of the string (after stripping the sign): \samp{0x} or \samp{0X}
220 means 16, \samp{0} means 8, anything else means 10. If \var{base}
Fred Drakefffe5db2000-09-21 05:25:30 +0000221 is 16, a leading \samp{0x} or \samp{0X} is always accepted, though
222 not required. This behaves identically to the built-in function
223 \function{int()} when passed a string. (Also note: for a more
224 flexible interpretation of numeric literals, use the built-in
225 function \function{eval()}\bifuncindex{eval}.)
Guido van Rossum5fdeeea1994-01-02 01:22:07 +0000226\end{funcdesc}
227
Fred Drakecce10901998-03-17 06:33:25 +0000228\begin{funcdesc}{atol}{s\optional{, base}}
Fred Drake15f06662000-10-04 13:59:52 +0000229 \deprecated{2.0}{Use the \function{long()} built-in function.}
Fred Drakee8489761998-12-21 18:56:13 +0000230 Convert string \var{s} to a long integer in the given \var{base}.
231 The string must consist of one or more digits, optionally preceded
232 by a sign (\samp{+} or \samp{-}). The \var{base} argument has the
233 same meaning as for \function{atoi()}. A trailing \samp{l} or
234 \samp{L} is not allowed, except if the base is 0. Note that when
235 invoked without \var{base} or with \var{base} set to 10, this
236 behaves identical to the built-in function
237 \function{long()}\bifuncindex{long} when passed a string.
Guido van Rossum5fdeeea1994-01-02 01:22:07 +0000238\end{funcdesc}
239
Guido van Rossume5e55d71996-08-09 21:44:51 +0000240\begin{funcdesc}{capitalize}{word}
Fred Drake473f46a2002-06-20 21:18:46 +0000241 Return a copy of \var{word} with only its first character capitalized.
Guido van Rossume5e55d71996-08-09 21:44:51 +0000242\end{funcdesc}
243
Fred Drake15f06662000-10-04 13:59:52 +0000244\begin{funcdesc}{expandtabs}{s\optional{, tabsize}}
Fred Drakee8489761998-12-21 18:56:13 +0000245 Expand tabs in a string, i.e.\ replace them by one or more spaces,
246 depending on the current column and the given tab size. The column
247 number is reset to zero after each newline occurring in the string.
248 This doesn't understand other non-printing characters or escape
Guido van Rossum9700e9b1999-01-25 22:31:53 +0000249 sequences. The tab size defaults to 8.
Guido van Rossum5fdeeea1994-01-02 01:22:07 +0000250\end{funcdesc}
251
Fred Drakecce10901998-03-17 06:33:25 +0000252\begin{funcdesc}{find}{s, sub\optional{, start\optional{,end}}}
Fred Drakee8489761998-12-21 18:56:13 +0000253 Return the lowest index in \var{s} where the substring \var{sub} is
254 found such that \var{sub} is wholly contained in
255 \code{\var{s}[\var{start}:\var{end}]}. Return \code{-1} on failure.
256 Defaults for \var{start} and \var{end} and interpretation of
257 negative values is the same as for slices.
Guido van Rossum5fdeeea1994-01-02 01:22:07 +0000258\end{funcdesc}
259
Fred Drakecce10901998-03-17 06:33:25 +0000260\begin{funcdesc}{rfind}{s, sub\optional{, start\optional{, end}}}
Fred Drakee8489761998-12-21 18:56:13 +0000261 Like \function{find()} but find the highest index.
Guido van Rossum5fdeeea1994-01-02 01:22:07 +0000262\end{funcdesc}
263
Fred Drakecce10901998-03-17 06:33:25 +0000264\begin{funcdesc}{index}{s, sub\optional{, start\optional{, end}}}
Fred Drakee8489761998-12-21 18:56:13 +0000265 Like \function{find()} but raise \exception{ValueError} when the
266 substring is not found.
Guido van Rossum5fdeeea1994-01-02 01:22:07 +0000267\end{funcdesc}
268
Fred Drakecce10901998-03-17 06:33:25 +0000269\begin{funcdesc}{rindex}{s, sub\optional{, start\optional{, end}}}
Fred Drakee8489761998-12-21 18:56:13 +0000270 Like \function{rfind()} but raise \exception{ValueError} when the
271 substring is not found.
Guido van Rossum5fdeeea1994-01-02 01:22:07 +0000272\end{funcdesc}
273
Fred Drakecce10901998-03-17 06:33:25 +0000274\begin{funcdesc}{count}{s, sub\optional{, start\optional{, end}}}
Fred Drakee8489761998-12-21 18:56:13 +0000275 Return the number of (non-overlapping) occurrences of substring
276 \var{sub} in string \code{\var{s}[\var{start}:\var{end}]}.
277 Defaults for \var{start} and \var{end} and interpretation of
Andrew M. Kuchlinga4ca07c2000-06-21 01:48:46 +0000278 negative values are the same as for slices.
Guido van Rossumab3a2501994-08-01 12:18:36 +0000279\end{funcdesc}
280
Guido van Rossum5fdeeea1994-01-02 01:22:07 +0000281\begin{funcdesc}{lower}{s}
Fred Drakee8489761998-12-21 18:56:13 +0000282 Return a copy of \var{s}, but with upper case letters converted to
283 lower case.
Guido van Rossum5fdeeea1994-01-02 01:22:07 +0000284\end{funcdesc}
285
Fred Drakecce10901998-03-17 06:33:25 +0000286\begin{funcdesc}{split}{s\optional{, sep\optional{, maxsplit}}}
Fred Drakee8489761998-12-21 18:56:13 +0000287 Return a list of the words of the string \var{s}. If the optional
288 second argument \var{sep} is absent or \code{None}, the words are
289 separated by arbitrary strings of whitespace characters (space, tab,
290 newline, return, formfeed). If the second argument \var{sep} is
291 present and not \code{None}, it specifies a string to be used as the
Fred Drakea7ce52b01999-05-27 17:18:08 +0000292 word separator. The returned list will then have one more item
Fred Drakee8489761998-12-21 18:56:13 +0000293 than the number of non-overlapping occurrences of the separator in
294 the string. The optional third argument \var{maxsplit} defaults to
295 0. If it is nonzero, at most \var{maxsplit} number of splits occur,
296 and the remainder of the string is returned as the final element of
297 the list (thus, the list will have at most \code{\var{maxsplit}+1}
298 elements).
Nicholas Bastin07973da2004-03-21 16:59:59 +0000299
300 The behavior of split on an empty string depends on the value of \var{sep}.
301 If \var{sep} is not specified, or specified as \code{None}, the result will
302 be an empty list. If \var{sep} is specified as any string, the result will
303 be a list containing one element which is an empty string.
Guido van Rossum5fdeeea1994-01-02 01:22:07 +0000304\end{funcdesc}
305
Hye-Shik Chang3ae811b2003-12-15 18:49:53 +0000306\begin{funcdesc}{rsplit}{s\optional{, sep\optional{, maxsplit}}}
Hye-Shik Changc6f066f2003-12-17 02:49:03 +0000307 Return a list of the words of the string \var{s}, scanning \var{s}
308 from the end. To all intents and purposes, the resulting list of
309 words is the same as returned by \function{split()}, except when the
310 optional third argument \var{maxsplit} is explicitly specified and
311 nonzero. When \var{maxsplit} is nonzero, at most \var{maxsplit}
Fred Drake32fef9f2003-12-30 23:08:14 +0000312 number of splits -- the \emph{rightmost} ones -- occur, and the remainder
Hye-Shik Changc6f066f2003-12-17 02:49:03 +0000313 of the string is returned as the first element of the list (thus, the
314 list will have at most \code{\var{maxsplit}+1} elements).
Hye-Shik Chang3ae811b2003-12-15 18:49:53 +0000315 \versionadded{2.4}
316\end{funcdesc}
317
Fred Drakecce10901998-03-17 06:33:25 +0000318\begin{funcdesc}{splitfields}{s\optional{, sep\optional{, maxsplit}}}
Fred Drakee8489761998-12-21 18:56:13 +0000319 This function behaves identically to \function{split()}. (In the
320 past, \function{split()} was only used with one argument, while
321 \function{splitfields()} was only used with two arguments.)
Guido van Rossum5fdeeea1994-01-02 01:22:07 +0000322\end{funcdesc}
323
Fred Drakecce10901998-03-17 06:33:25 +0000324\begin{funcdesc}{join}{words\optional{, sep}}
Fred Drakee8489761998-12-21 18:56:13 +0000325 Concatenate a list or tuple of words with intervening occurrences of
326 \var{sep}. The default value for \var{sep} is a single space
327 character. It is always true that
328 \samp{string.join(string.split(\var{s}, \var{sep}), \var{sep})}
329 equals \var{s}.
Guido van Rossume5e55d71996-08-09 21:44:51 +0000330\end{funcdesc}
331
Fred Drakecce10901998-03-17 06:33:25 +0000332\begin{funcdesc}{joinfields}{words\optional{, sep}}
Fred Drakeb7c18952002-09-12 14:16:07 +0000333 This function behaves identically to \function{join()}. (In the past,
Fred Drakee8489761998-12-21 18:56:13 +0000334 \function{join()} was only used with one argument, while
335 \function{joinfields()} was only used with two arguments.)
Fred Drakeb7c18952002-09-12 14:16:07 +0000336 Note that there is no \method{joinfields()} method on string
337 objects; use the \method{join()} method instead.
Guido van Rossume5e55d71996-08-09 21:44:51 +0000338\end{funcdesc}
339
Walter Dörwaldde02bcb2002-04-22 17:42:37 +0000340\begin{funcdesc}{lstrip}{s\optional{, chars}}
341Return a copy of the string with leading characters removed. If
342\var{chars} is omitted or \code{None}, whitespace characters are
343removed. If given and not \code{None}, \var{chars} must be a string;
344the characters in the string will be stripped from the beginning of
345the string this method is called on.
Neal Norwitzffe33b72003-04-10 22:35:32 +0000346\versionchanged[The \var{chars} parameter was added. The \var{chars}
347parameter cannot be passed in earlier 2.2 versions]{2.2.3}
Guido van Rossume5e55d71996-08-09 21:44:51 +0000348\end{funcdesc}
349
Walter Dörwaldde02bcb2002-04-22 17:42:37 +0000350\begin{funcdesc}{rstrip}{s\optional{, chars}}
351Return a copy of the string with trailing characters removed. If
352\var{chars} is omitted or \code{None}, whitespace characters are
353removed. If given and not \code{None}, \var{chars} must be a string;
354the characters in the string will be stripped from the end of the
355string this method is called on.
Neal Norwitzffe33b72003-04-10 22:35:32 +0000356\versionchanged[The \var{chars} parameter was added. The \var{chars}
Martin v. Löwisb0c319a2004-07-19 16:34:01 +0000357parameter cannot be passed in earlier 2.2 versions]{2.2.3}
Guido van Rossum5fdeeea1994-01-02 01:22:07 +0000358\end{funcdesc}
359
Walter Dörwaldde02bcb2002-04-22 17:42:37 +0000360\begin{funcdesc}{strip}{s\optional{, chars}}
361Return a copy of the string with leading and trailing characters
362removed. If \var{chars} is omitted or \code{None}, whitespace
363characters are removed. If given and not \code{None}, \var{chars}
364must be a string; the characters in the string will be stripped from
365the both ends of the string this method is called on.
Neal Norwitzffe33b72003-04-10 22:35:32 +0000366\versionchanged[The \var{chars} parameter was added. The \var{chars}
Neal Norwitza6bdf2a2003-04-17 23:07:13 +0000367parameter cannot be passed in earlier 2.2 versions]{2.2.3}
Guido van Rossum5fdeeea1994-01-02 01:22:07 +0000368\end{funcdesc}
369
370\begin{funcdesc}{swapcase}{s}
Fred Drakee8489761998-12-21 18:56:13 +0000371 Return a copy of \var{s}, but with lower case letters
372 converted to upper case and vice versa.
Guido van Rossum5fdeeea1994-01-02 01:22:07 +0000373\end{funcdesc}
374
Guido van Rossumf4d0d571996-07-30 18:23:05 +0000375\begin{funcdesc}{translate}{s, table\optional{, deletechars}}
Fred Drakee8489761998-12-21 18:56:13 +0000376 Delete all characters from \var{s} that are in \var{deletechars} (if
377 present), and then translate the characters using \var{table}, which
378 must be a 256-character string giving the translation for each
Raymond Hettinger5c5fca92003-07-13 02:06:47 +0000379 character value, indexed by its ordinal.
Guido van Rossumf65f2781995-09-13 17:37:21 +0000380\end{funcdesc}
381
Guido van Rossum5fdeeea1994-01-02 01:22:07 +0000382\begin{funcdesc}{upper}{s}
Fred Drakee8489761998-12-21 18:56:13 +0000383 Return a copy of \var{s}, but with lower case letters converted to
384 upper case.
Guido van Rossum5fdeeea1994-01-02 01:22:07 +0000385\end{funcdesc}
386
Fred Drakecce10901998-03-17 06:33:25 +0000387\begin{funcdesc}{ljust}{s, width}
388\funcline{rjust}{s, width}
389\funcline{center}{s, width}
Fred Drakee8489761998-12-21 18:56:13 +0000390 These functions respectively left-justify, right-justify and center
391 a string in a field of given width. They return a string that is at
392 least \var{width} characters wide, created by padding the string
393 \var{s} with spaces until the given width on the right, left or both
394 sides. The string is never truncated.
Guido van Rossum5fdeeea1994-01-02 01:22:07 +0000395\end{funcdesc}
396
Fred Drakecce10901998-03-17 06:33:25 +0000397\begin{funcdesc}{zfill}{s, width}
Fred Drakee8489761998-12-21 18:56:13 +0000398 Pad a numeric string on the left with zero digits until the given
399 width is reached. Strings starting with a sign are handled
400 correctly.
Guido van Rossum5fdeeea1994-01-02 01:22:07 +0000401\end{funcdesc}
Guido van Rossum0bf4d891995-03-02 12:37:30 +0000402
Martin v. Löwis8bafb2a2003-11-18 19:48:57 +0000403\begin{funcdesc}{replace}{str, old, new\optional{, maxreplace}}
Fred Drakee8489761998-12-21 18:56:13 +0000404 Return a copy of string \var{str} with all occurrences of substring
405 \var{old} replaced by \var{new}. If the optional argument
Martin v. Löwis8bafb2a2003-11-18 19:48:57 +0000406 \var{maxreplace} is given, the first \var{maxreplace} occurrences are
Fred Drakee8489761998-12-21 18:56:13 +0000407 replaced.
Guido van Rossumc8a80cd1997-03-25 16:41:31 +0000408\end{funcdesc}