summaryrefslogtreecommitdiff
path: root/string_utils.py
diff options
context:
space:
mode:
authorScott <[email protected]>2021-12-06 15:43:17 -0800
committerScott <[email protected]>2021-12-06 15:43:17 -0800
commitba223f821df1e9b8abbb6f6d23d5ba92c5a70b05 (patch)
tree637aa43cfa5049ddf07eea3c2ec9ff51ec1be2d8 /string_utils.py
parent4f11c12a1afb209eb1ba52a4632c5f49234cc0dc (diff)
Move stuff around.
Diffstat (limited to 'string_utils.py')
-rw-r--r--string_utils.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/string_utils.py b/string_utils.py
index aca4a5e..097dc1b 100644
--- a/string_utils.py
+++ b/string_utils.py
@@ -1141,6 +1141,24 @@ def valid_datetime(in_str: str) -> bool:
return False
+def squeeze(in_str: str, character_to_squeeze: str = ' ') -> str:
+ """
+ Squeeze runs of more than one character_to_squeeze into one.
+
+ >>> squeeze(' this is a test ')
+ ' this is a test '
+
+ >>> squeeze('one|!||!|two|!||!|three', character_to_squeeze='|!|')
+ 'one|!|two|!|three'
+
+ """
+ return re.sub(
+ r'(' + re.escape(character_to_squeeze) + r')+',
+ character_to_squeeze,
+ in_str
+ )
+
+
def dedent(in_str: str) -> str:
"""
Removes tab indentation from multi line strings (inspired by analogous Scala function).