From 1eb9a81eb92dd5d133c8584bad8aecd5b8f0ccd1 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Tue, 25 Mar 1997 16:50:31 +0000 Subject: Added new functions replace() and replace1(). --- Lib/string.py | 15 +++++++++++++++ Lib/stringold.py | 15 +++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/Lib/string.py b/Lib/string.py index d3ab88f..8207a8e 100644 --- a/Lib/string.py +++ b/Lib/string.py @@ -320,6 +320,21 @@ def maketrans(fromstr, tostr): L[fromstr[i]] = tostr[i] return joinfields(L, "") +# Substring replacement (global) +def replace(old, new, str): + return joinfields(splitfields(str, old), new) + +# Substring replacement (1st substring only) +def replace1(old, new, str, i=0, last=None): + if last is None: + i = find(str, old, i) + else: + i = find(str, old, i, last) + if i >= 0: + str = str[:i] + new + str[i+len(old):] + return str + + # Try importing optional built-in module "strop" -- if it exists, # it redefines some string operations that are 100-1000 times faster. # It also defines values for whitespace, lowercase and uppercase diff --git a/Lib/stringold.py b/Lib/stringold.py index d3ab88f..8207a8e 100644 --- a/Lib/stringold.py +++ b/Lib/stringold.py @@ -320,6 +320,21 @@ def maketrans(fromstr, tostr): L[fromstr[i]] = tostr[i] return joinfields(L, "") +# Substring replacement (global) +def replace(old, new, str): + return joinfields(splitfields(str, old), new) + +# Substring replacement (1st substring only) +def replace1(old, new, str, i=0, last=None): + if last is None: + i = find(str, old, i) + else: + i = find(str, old, i, last) + if i >= 0: + str = str[:i] + new + str[i+len(old):] + return str + + # Try importing optional built-in module "strop" -- if it exists, # it redefines some string operations that are 100-1000 times faster. # It also defines values for whitespace, lowercase and uppercase -- cgit v0.12