Commit 1eb9a81e authored by Guido van Rossum's avatar Guido van Rossum

Added new functions replace() and replace1().

parent c8a80cdb
......@@ -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
......
......@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment