如何删除 Python 中的所有前导和尾随标点符号?

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

我知道如何删除字符串中的所有标点符号。

import string

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

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

print(new_s)
# Output
ABC79999

如何删除 Python 中的所有前导和尾随标点符号? '.$ABC-799-99,#' 的期望结果是 'ABC-799-99'.

你完全按照你在问题中提到的去做,你只是 str.strip 它。

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

print(s.strip(punctuation))

输出:

 ABC-799-99

str.strip 可以删除多个字符。

如果您只想删除前导标点符号,您可以 str.lstrip:

s.lstrip(punctuation)

rstrip任何尾随标点符号:

 s.rstrip(punctuation)