String method conversion.
diff --git a/Lib/formatter.py b/Lib/formatter.py
index 359975b..8393e46 100644
--- a/Lib/formatter.py
+++ b/Lib/formatter.py
@@ -157,7 +157,7 @@
                 label = s + label
             index = index + 1
         if case == 'I':
-            return string.upper(label)
+            return label.upper()
         return label
 
     def add_flowing_data(self, data,
@@ -369,11 +369,11 @@
 
     def send_literal_data(self, data):
         self.file.write(data)
-        i = string.rfind(data, '\n')
+        i = data.rfind('\n')
         if i >= 0:
             self.col = 0
             data = data[i+1:]
-        data = string.expandtabs(data)
+        data = data.expandtabs()
         self.col = self.col + len(data)
         self.atbreak = 0
 
@@ -383,7 +383,7 @@
         col = self.col
         maxcol = self.maxcol
         write = self.file.write
-        for word in string.split(data):
+        for word in data.split():
             if atbreak:
                 if col + len(word) >= maxcol:
                     write('\n')
diff --git a/Lib/nturl2path.py b/Lib/nturl2path.py
index 7e78cb1..f7b0fbe 100644
--- a/Lib/nturl2path.py
+++ b/Lib/nturl2path.py
@@ -19,15 +19,15 @@
             # convert this to \\host\path\on\remote\host
             # (notice halving of slashes at the start of the path)
             url = url[2:]
-        components = string.split(url, '/')
+        components = url.split('/')
         # make sure not to convert quoted slashes :-)
-        return urllib.unquote(string.join(components, '\\'))
-    comp = string.split(url, '|')
+        return urllib.unquote('\\'.join(components))
+    comp = url.split('|')
     if len(comp) != 2 or comp[0][-1] not in string.letters:
         error = 'Bad URL: ' + url
         raise IOError, error
-    drive = string.upper(comp[0][-1])
-    components = string.split(comp[1], '/')
+    drive = comp[0][-1].upper()
+    components = comp[1].split('/')
     path = drive + ':'
     for  comp in components:
         if comp:
@@ -52,15 +52,15 @@
         # convert this to ////host/path/on/remote/host
         # (notice doubling of slashes at the start of the path)
             p = '\\\\' + p
-        components = string.split(p, '\\')
-        return urllib.quote(string.join(components, '/'))
-    comp = string.split(p, ':')
+        components = p.split('\\')
+        return urllib.quote('/'.join(components))
+    comp = p.split(':')
     if len(comp) != 2 or len(comp[0]) > 1:
         error = 'Bad path: ' + p
         raise IOError, error
 
-    drive = urllib.quote(string.upper(comp[0]))
-    components = string.split(comp[1], '\\')
+    drive = urllib.quote(comp[0].upper())
+    components = comp[1].split('\\')
     path = '///' + drive + '|'
     for comp in components:
         if comp:
diff --git a/Lib/sre.py b/Lib/sre.py
index 859ff9e..4533354 100644
--- a/Lib/sre.py
+++ b/Lib/sre.py
@@ -17,8 +17,6 @@
 import sre_compile
 import sre_parse
 
-import string
-
 # flags
 I = IGNORECASE = sre_compile.SRE_FLAG_IGNORECASE # ignore case
 L = LOCALE = sre_compile.SRE_FLAG_LOCALE # assume current 8-bit locale
@@ -109,7 +107,7 @@
 
 def _join(seq, sep):
     # internal: join into string having the same type as sep
-    return string.join(seq, sep[:0])
+    return sep[:0].join(seq)
 
 def _compile(*key):
     # internal: compile pattern
diff --git a/Lib/token.py b/Lib/token.py
index 14f56d0..80dc032 100755
--- a/Lib/token.py
+++ b/Lib/token.py
@@ -94,7 +94,7 @@
     except IOError, err:
         sys.stdout.write("I/O error: %s\n" % str(err))
         sys.exit(1)
-    lines = string.splitfields(fp.read(), "\n")
+    lines = fp.read().split("\n")
     fp.close()
     prog = re.compile(
         "#define[ \t][ \t]*([A-Z][A-Z_]*)[ \t][ \t]*([0-9][0-9]*)",
@@ -114,7 +114,7 @@
     except IOError, err:
         sys.stderr.write("I/O error: %s\n" % str(err))
         sys.exit(2)
-    format = string.splitfields(fp.read(), "\n")
+    format = fp.read().split("\n")
     fp.close()
     try:
         start = format.index("#--start constants--") + 1
@@ -131,7 +131,7 @@
     except IOError, err:
         sys.stderr.write("I/O error: %s\n" % str(err))
         sys.exit(4)
-    fp.write(string.joinfields(format, "\n"))
+    fp.write("\n".join(format))
     fp.close()
 
 
diff --git a/Lib/tokenize.py b/Lib/tokenize.py
index 3014b19..9f46612 100644
--- a/Lib/tokenize.py
+++ b/Lib/tokenize.py
@@ -26,7 +26,7 @@
 #     Imagnumber is new.  Expfloat is corrected to reject '0e4'.
 # Note: to quote a backslash in a regex, it must be doubled in a r'aw' string.
 
-def group(*choices): return '(' + string.join(choices, '|') + ')'
+def group(*choices): return '(' + '|'.join(choices) + ')'
 def any(*choices): return apply(group, choices) + '*'
 def maybe(*choices): return apply(group, choices) + '?'
 
diff --git a/Lib/urllib2.py b/Lib/urllib2.py
index cf94d2f..a3ff482 100644
--- a/Lib/urllib2.py
+++ b/Lib/urllib2.py
@@ -85,7 +85,6 @@
 # gopher can return a socket.error
 # check digest against correct (i.e. non-apache) implementation
 
-import string
 import socket
 import UserDict
 import httplib
@@ -265,13 +264,13 @@
                     self.handle_open[protocol] = [handler]
                 added = 1
                 continue
-            i = string.find(meth, '_')
-            j = string.find(meth[i+1:], '_') + i + 1
+            i = meth.find('_')
+            j = meth[i+1:].find('_') + i + 1
             if j != -1 and meth[i+1:j] == 'error':
                 proto = meth[:i]
                 kind = meth[j+1:]
                 try:
-                    kind = string.atoi(kind)
+                    kind = int(kind)
                 except ValueError:
                     pass
                 dict = self.handle_error.get(proto, {})
@@ -599,7 +598,7 @@
             mo = HTTPBasicAuthHandler.rx.match(authreq)
             if mo:
                 scheme, realm = mo.groups()
-                if string.lower(scheme) == 'basic':
+                if scheme.lower() == 'basic':
                     return self.retry_http_basic_auth(req, realm)
 
     def retry_http_basic_auth(self, req, realm):
@@ -613,7 +612,7 @@
         user,pw = self.passwd.find_user_password(realm, host)
         if pw:
             raw = "%s:%s" % (user, pw)
-            auth = string.strip(base64.encodestring(raw))
+            auth = base64.encodestring(raw).strip()
             req.add_header('Authorization', 'Basic %s' % auth)
             resp = self.parent.open(req)
             self.__current_realm = None
@@ -638,12 +637,12 @@
         # XXX could be mult. headers
         authreq = headers.get('www-authenticate', None)
         if authreq:
-            kind = string.split(authreq)[0]
+            kind = authreq.split()[0]
             if kind == 'Digest':
                 return self.retry_http_digest_auth(req, authreq)
 
     def retry_http_digest_auth(self, req, auth):
-        token, challenge = string.split(auth, ' ', 1)
+        token, challenge = auth.split(' ', 1)
         chal = parse_keqv_list(parse_http_list(challenge))
         auth = self.get_authorization(req, chal)
         if auth:
@@ -723,7 +722,7 @@
         hexrep.append(hex(n)[-1])
         n = ord(c) & 0xf
         hexrep.append(hex(n)[-1])
-    return string.join(hexrep, '')
+    return ''.join(hexrep)
 
 
 class HTTPHandler(BaseHandler):
@@ -772,7 +771,7 @@
     """Parse list of key=value strings where keys are not duplicated."""
     parsed = {}
     for elt in l:
-        k, v = string.split(elt, '=', 1)
+        k, v = elt.split('=', 1)
         if v[0] == '"' and v[-1] == '"':
             v = v[1:-1]
         parsed[k] = v
@@ -794,8 +793,8 @@
     start = 0
     while i < end:
         cur = s[i:]
-        c = string.find(cur, ',')
-        q = string.find(cur, '"')
+        c = cur.find(',')
+        q = cur.find('"')
         if c == -1:
             list.append(s[start:])
             break
@@ -822,7 +821,7 @@
             else:
                 inquote = 1
                 i = i + q + 1
-    return map(string.strip, list)
+    return map(lambda x: x.strip(), list)
 
 class FileHandler(BaseHandler):
     # Use local file or FTP depending on form of URL
@@ -872,7 +871,7 @@
             port = ftplib.FTP_PORT
         path, attrs = splitattr(req.get_selector())
         path = unquote(path)
-        dirs = string.splitfields(path, '/')
+        dirs = path.split('/')
         dirs, file = dirs[:-1], dirs[-1]
         if dirs and not dirs[0]:
             dirs = dirs[1:]
@@ -882,9 +881,9 @@
             type = file and 'I' or 'D'
             for attr in attrs:
                 attr, value = splitattr(attr)
-                if string.lower(attr) == 'type' and \
+                if attr.lower() == 'type' and \
                    value in ('a', 'A', 'i', 'I', 'd', 'D'):
-                    type = string.upper(value)
+                    type = value.upper()
             fp, retrlen = fw.retrfile(file, type)
             if retrlen is not None and retrlen >= 0:
                 sf = StringIO('Content-Length: %d\n' % retrlen)
@@ -1048,7 +1047,7 @@
     p = CustomProxy('http', at_cnri, 'proxy.cnri.reston.va.us')
     ph = CustomProxyHandler(p)
 
-    install_opener(build_opener(dauth, bauth, cfh, GopherHandler, ph))
+    #install_opener(build_opener(dauth, bauth, cfh, GopherHandler, ph))
 
     for url in urls:
         if type(url) == types.TupleType: