Spaces:
Sleeping
Sleeping
| from Text2List import text_to_list | |
| def convert_to_list(text, text_list): | |
| matched_words = [] | |
| unmatched_text = '' # To accumulate unmatched characters | |
| # Sort text_list by length in descending order to prioritize longest matches first | |
| text_list_sorted = sorted(text_list, key=len, reverse=True) | |
| while text: | |
| matched = False | |
| for word in text_list_sorted: | |
| if text.startswith(word): | |
| # Add any accumulated unmatched text before appending the matched word | |
| if unmatched_text: | |
| matched_words.append(unmatched_text) | |
| unmatched_text = '' # Reset unmatched text accumulator | |
| matched_words.append(word) | |
| text = text[len(word):] # Remove the matched part from text | |
| matched = True | |
| break | |
| if not matched: | |
| # Accumulate unmatched characters | |
| unmatched_text += text[0] | |
| text = text[1:] | |
| # If there's any remaining unmatched text, add it to the result | |
| if unmatched_text: | |
| matched_words.append(unmatched_text) | |
| # Join matched words and unmatched text with a space | |
| result = ' '.join(matched_words) | |
| return result | |