X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=string_utils.py;h=bae59068b9063cece6fe401f649401e07efa138d;hb=ffed473528c4feb836253758e86f7839af98f57b;hp=1ed9b4ad10790685290838cd30a2322d59b1b373;hpb=e596cc5a8f9cd58d88ad11d177a21eb25895f083;p=python_utils.git diff --git a/string_utils.py b/string_utils.py index 1ed9b4a..bae5906 100644 --- a/string_utils.py +++ b/string_utils.py @@ -1366,7 +1366,7 @@ def make_contractions(txt: str) -> str: ), ] - # Special cases + # Special cases: can't, shan't and won't. txt = re.sub(r'\b(can)\s*no(t)\b', r"\1'\2", txt, count=0, flags=re.IGNORECASE) txt = re.sub( r'\b(sha)ll\s*(n)o(t)\b', r"\1\2'\3", txt, count=0, flags=re.IGNORECASE @@ -1378,8 +1378,9 @@ def make_contractions(txt: str) -> str: for first_list, second_list in first_second: for first in first_list: for second in second_list: - # Disallow there're. It's valid English but sounds weird. - if first == 'there' and second == 'a(re)': + # Disallow there're/where're. They're valid English + # but sound weird. + if (first == 'there' or first == 'where') and second == 'a(re)': continue pattern = fr'\b({first})\s+{second}\b'