String method conversion.
diff --git a/Lib/CGIHTTPServer.py b/Lib/CGIHTTPServer.py
index e2bef26..84cdf67 100644
--- a/Lib/CGIHTTPServer.py
+++ b/Lib/CGIHTTPServer.py
@@ -103,12 +103,12 @@
     def run_cgi(self):
         """Execute a CGI script."""
         dir, rest = self.cgi_info
-        i = string.rfind(rest, '?')
+        i = rest.rfind('?')
         if i >= 0:
             rest, query = rest[:i], rest[i+1:]
         else:
             query = ''
-        i = string.find(rest, '/')
+        i = rest.find('/')
         if i >= 0:
             script, rest = rest[:i], rest[i:]
         else:
@@ -165,16 +165,16 @@
         accept = []
         for line in self.headers.getallmatchingheaders('accept'):
             if line[:1] in string.whitespace:
-                accept.append(string.strip(line))
+                accept.append(line.strip())
             else:
-                accept = accept + string.split(line[7:], ',')
-        env['HTTP_ACCEPT'] = string.joinfields(accept, ',')
+                accept = accept + line[7:].split(',')
+        env['HTTP_ACCEPT'] = ','.join(accept)
         ua = self.headers.getheader('user-agent')
         if ua:
             env['HTTP_USER_AGENT'] = ua
         co = filter(None, self.headers.getheaders('cookie'))
         if co:
-            env['HTTP_COOKIE'] = string.join(co, ', ')
+            env['HTTP_COOKIE'] = ', '.join(co)
         # XXX Other HTTP_* headers
         if not self.have_fork:
             # Since we're setting the env in the parent, provide empty
@@ -185,7 +185,7 @@
 
         self.send_response(200, "Script output follows")
 
-        decoded_query = string.replace(query, '+', ' ')
+        decoded_query = query.replace('+', ' ')
 
         if self.have_fork:
             # Unix -- fork as we should
diff --git a/Lib/code.py b/Lib/code.py
index f9d8225..ab1050c 100644
--- a/Lib/code.py
+++ b/Lib/code.py
@@ -6,7 +6,6 @@
 
 
 import sys
-import string
 import traceback
 from codeop import compile_command
 
@@ -260,7 +259,7 @@
 
         """
         self.buffer.append(line)
-        source = string.join(self.buffer, "\n")
+        source = "\n".join(self.buffer)
         more = self.runsource(source, self.filename)
         if not more:
             self.resetbuffer()
diff --git a/Lib/codeop.py b/Lib/codeop.py
index 46926b5..3865ec6 100644
--- a/Lib/codeop.py
+++ b/Lib/codeop.py
@@ -1,7 +1,6 @@
 """Utility to compile possibly incomplete Python source code."""
 
 import sys
-import string
 import traceback
 
 __all__ = ["compile_command"]
@@ -49,8 +48,8 @@
     """
 
     # Check for source consisting of only blank lines and comments
-    for line in string.split(source, "\n"):
-        line = string.strip(line)
+    for line in source.split("\n"):
+        line = line.strip()
         if line and line[0] != '#':
             break               # Leave it alone
     else:
diff --git a/Lib/py_compile.py b/Lib/py_compile.py
index b453109..da3bdaf 100644
--- a/Lib/py_compile.py
+++ b/Lib/py_compile.py
@@ -59,10 +59,10 @@
     try:
         codeobject = __builtin__.compile(codestring, dfile or file, 'exec')
     except SyntaxError, detail:
-        import traceback, sys, string
+        import traceback, sys
         lines = traceback.format_exception_only(SyntaxError, detail)
         for line in lines:
-            sys.stderr.write(string.replace(line, 'File "<string>"',
+            sys.stderr.write(line.replace('File "<string>"',
                                             'File "%s"' % (dfile or file)))
         return
     if not cfile:
diff --git a/Lib/repr.py b/Lib/repr.py
index b47ac2a..9f7ed86 100644
--- a/Lib/repr.py
+++ b/Lib/repr.py
@@ -1,7 +1,5 @@
 """Redo the `...` (representation) but with limits on most sizes."""
 
-import string
-
 class Repr:
     def __init__(self):
         self.maxlevel = 6
@@ -16,8 +14,8 @@
     def repr1(self, x, level):
         typename = `type(x)`[7:-2] # "<type '......'>"
         if ' ' in typename:
-            parts = string.split(typename)
-            typename = string.joinfields(parts, '_')
+            parts = typename.split()
+            typename = '_'.join(parts)
         if hasattr(self, 'repr_' + typename):
             return getattr(self, 'repr_' + typename)(x, level)
         else: