How to remove all characters after a specific character in python?


Question

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.

1
113
9/18/2013 11:23:22 PM

Accepted Answer

Split on your separator at most once, and take the first piece:

sep = '...'
rest = text.split(sep, 1)[0]

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.

208
5/24/2009 10:25:42 PM

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon