snapr / src /utils /text_utils.py
lisekarimi
Deploy version 0.1.0
8366946
raw
history blame contribute delete
873 Bytes
"""Utility functions for text processing."""
import re
def extract_tagged_price(output: str) -> float:
"""Extracts a float price from a string based on 'Price is $' keyword."""
try:
contents = output.split("Price is $")[1].replace(",", "")
match = re.search(r"[-+]?\d*\.\d+|\d+", contents)
return float(match.group()) if match else 0.0
except Exception:
return 0.0
def extract_price(output: str) -> float:
"""Extracts a float price from a string.
If no number is found, returns 0.0.
"""
try:
cleaned_text = output.replace("$", "").replace(",", "")
match = re.search(r"[-+]?\d*\.\d+|\d+", cleaned_text)
if match:
return round(float(match.group()), 2)
return 0.0
except Exception:
# Optionally log the exception or handle differently
return 0.0