removed. If given and not \code{None}, \var{chars} must be a string;
the characters in the string will be stripped from the beginning of
the string this method is called on.
+\versionchanged[The \var{chars} parameter was added. The \var{chars}
+parameter cannot be passed in earlier 2.2 versions]{2.2.3}
\end{funcdesc}
\begin{funcdesc}{rstrip}{s\optional{, chars}}
removed. If given and not \code{None}, \var{chars} must be a string;
the characters in the string will be stripped from the end of the
string this method is called on.
+\versionchanged[The \var{chars} parameter was added. The \var{chars}
+parameter cannot be passed in earlier 2.2 versions]{2.2.3}
\end{funcdesc}
\begin{funcdesc}{strip}{s\optional{, chars}}
must be a string; the characters in the string will be stripped from
the both ends of the string this method is called on.
\versionchanged[The \var{chars} parameter was added. The \var{chars}
-parameter cannot be passed in 2.2 or 2.2.1]{2.2.2}
+parameter cannot be passed in earlier 2.2 versions]{2.2.3}
\end{funcdesc}
\begin{funcdesc}{swapcase}{s}
def join(self, seq): return self.data.join(seq)
def ljust(self, width): return self.__class__(self.data.ljust(width))
def lower(self): return self.__class__(self.data.lower())
- def lstrip(self, sep=None): return self.__class__(self.data.lstrip(sep))
+ def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
def replace(self, old, new, maxsplit=-1):
return self.__class__(self.data.replace(old, new, maxsplit))
def rfind(self, sub, start=0, end=sys.maxint):
def rindex(self, sub, start=0, end=sys.maxint):
return self.data.rindex(sub, start, end)
def rjust(self, width): return self.__class__(self.data.rjust(width))
- def rstrip(self, sep=None): return self.__class__(self.data.rstrip(sep))
+ def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
def split(self, sep=None, maxsplit=-1):
return self.data.split(sep, maxsplit)
def splitlines(self, keepends=0): return self.data.splitlines(keepends)
def startswith(self, prefix, start=0, end=sys.maxint):
return self.data.startswith(prefix, start, end)
- def strip(self, sep=None): return self.__class__(self.data.strip(sep))
+ def strip(self, chars=None): return self.__class__(self.data.strip(chars))
def swapcase(self): return self.__class__(self.data.swapcase())
def title(self): return self.__class__(self.data.title())
def translate(self, *args):
Return a copy of the string s with leading and trailing
whitespace removed.
- If chars is given and not None, remove characters in sep instead.
+ If chars is given and not None, remove characters in chars instead.
If chars is unicode, S will be converted to unicode before stripping.
"""
return s.strip(chars)
# Strip leading tabs and spaces
-def lstrip(s):
- """lstrip(s) -> string
+def lstrip(s, chars=None):
+ """lstrip(s [,chars]) -> string
Return a copy of the string s with leading whitespace removed.
+ If chars is given and not None, remove characters in chars instead.
+ If chars is unicode, S will be converted to unicode before stripping.
"""
- return s.lstrip()
+ return s.lstrip(chars)
# Strip trailing tabs and spaces
-def rstrip(s):
- """rstrip(s) -> string
+def rstrip(s, chars=None):
+ """rstrip(s [,chars]) -> string
- Return a copy of the string s with trailing whitespace
- removed.
+ Return a copy of the string s with trailing whitespace removed.
+ If chars is given and not None, remove characters in chars instead.
+ If chars is unicode, S will be converted to unicode before stripping.
"""
- return s.rstrip()
+ return s.rstrip(chars)
# Split a string into a list of space/tab-separated words
Release date: XX-XXX-2003
============================
+- Make all the strip, lstrip, rstrip functions/methods on
+ string/unicode/UserString consistent by adding and/or
+ documenting the chars parameter. The chars parameter
+ specifies which characters to strip.
+
- Some horridly obscure problems were fixed involving interaction
between garbage collection and classes with "ambitious" getattr hooks.
If a class instance didn't have a __del__ method, but did have a
static char strip__doc__[] =
-"S.strip([sep]) -> string or unicode\n\
+"S.strip([chars]) -> string or unicode\n\
\n\
Return a copy of the string S with leading and trailing\n\
whitespace removed.\n\
-If sep is given and not None, remove characters in sep instead.\n\
-If sep is unicode, S will be converted to unicode before stripping";
+If chars is given and not None, remove characters in chars instead.\n\
+If chars is unicode, S will be converted to unicode before stripping";
static PyObject *
string_strip(PyStringObject *self, PyObject *args)
static char lstrip__doc__[] =
-"S.lstrip([sep]) -> string or unicode\n\
+"S.lstrip([chars]) -> string or unicode\n\
\n\
Return a copy of the string S with leading whitespace removed.\n\
-If sep is given and not None, remove characters in sep instead.\n\
-If sep is unicode, S will be converted to unicode before stripping";
+If chars is given and not None, remove characters in chars instead.\n\
+If chars is unicode, S will be converted to unicode before stripping";
static PyObject *
string_lstrip(PyStringObject *self, PyObject *args)
static char rstrip__doc__[] =
-"S.rstrip([sep]) -> string or unicode\n\
+"S.rstrip([chars]) -> string or unicode\n\
\n\
Return a copy of the string S with trailing whitespace removed.\n\
-If sep is given and not None, remove characters in sep instead.\n\
-If sep is unicode, S will be converted to unicode before stripping";
+If chars is given and not None, remove characters in chars instead.\n\
+If chars is unicode, S will be converted to unicode before stripping";
static PyObject *
string_rstrip(PyStringObject *self, PyObject *args)
static char strip__doc__[] =
-"S.strip([sep]) -> unicode\n\
+"S.strip([chars]) -> unicode\n\
\n\
Return a copy of the string S with leading and trailing\n\
whitespace removed.\n\
-If sep is given and not None, remove characters in sep instead.\n\
-If sep is a str, it will be converted to unicode before stripping";
+If chars is given and not None, remove characters in chars instead.\n\
+If chars is a str, it will be converted to unicode before stripping";
static PyObject *
unicode_strip(PyUnicodeObject *self, PyObject *args)
static char lstrip__doc__[] =
-"S.lstrip([sep]) -> unicode\n\
+"S.lstrip([chars]) -> unicode\n\
\n\
Return a copy of the string S with leading whitespace removed.\n\
-If sep is given and not None, remove characters in sep instead.\n\
-If sep is a str, it will be converted to unicode before stripping";
+If chars is given and not None, remove characters in chars instead.\n\
+If chars is a str, it will be converted to unicode before stripping";
static PyObject *
unicode_lstrip(PyUnicodeObject *self, PyObject *args)
static char rstrip__doc__[] =
-"S.rstrip([sep]) -> unicode\n\
+"S.rstrip([chars]) -> unicode\n\
\n\
Return a copy of the string S with trailing whitespace removed.\n\
-If sep is given and not None, remove characters in sep instead.\n\
-If sep is a str, it will be converted to unicode before stripping";
+If chars is given and not None, remove characters in chars instead.\n\
+If chars is a str, it will be converted to unicode before stripping";
static PyObject *
unicode_rstrip(PyUnicodeObject *self, PyObject *args)