I have a string. How do I remove all text after a certain character? (In this case
The text after will
... change so I that's why I want to remove all characters after a certain one.
Split on your separator at most once, and take the first piece:
sep = '...' rest = text.split(sep, 1)
You didn't say what should happen if the separator isn't present. Both this and Alex's solution will return the entire string in that case.
Assuming your separator is '...', but it can be any string.
text = 'some string... this part will be removed.' head, sep, tail = text.partition('...') >>> print head some string
If the separator is not found,
head will contain all of the original string.
The partition function was added in Python 2.5.
partition(...) S.partition(sep) -> (head, sep, tail)
Searches for the separator sep in S, and returns the part before it, the separator itself, and the part after it. If the separator is not found, returns S and two empty strings.