Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I strip all leading and trailing punctuation in Python? [duplicate]

I know how to remove all the punctuation in a string.

import string

s = '.$ABC-799-99,#'

table = string.maketrans("","") # to remove punctuation
new_s = s.translate(table, string.punctuation)

print(new_s)
# Output
ABC79999

How do I strip all leading and trailing punctuation in Python? The desired result of '.$ABC-799-99,#' is 'ABC-799-99'.

like image 501
SparkAndShine Avatar asked May 14 '16 00:05

SparkAndShine


1 Answers

You do exactly what you mention in your question, you just str.strip it.

from string import punctuation
s = '.$ABC-799-99,#'

print(s.strip(punctuation))

Output:

 ABC-799-99

str.strip can take multiple characters to remove.

If you just wanted to remove leading punctuation you could str.lstrip:

s.lstrip(punctuation)

Or rstrip any trailing punctuation:

 s.rstrip(punctuation)
like image 128
Padraic Cunningham Avatar answered Oct 21 '22 15:10

Padraic Cunningham