这是一个用户可以输入“冰茶”之类的值的游戏。 我想操纵字符串返回“冰茶”,没有拖尾标点符号。
寻找最优雅/最简单的python解决方案。
尝试
def last_character(word):
if word.endswith('.' or ','):
word = word[:-1]
return word
如果最后只有一个标点符号,则可以正常工作。但它并非包罗万象。
String resultString = subjectString.replaceAll("([a-z]+)[?:!.,;]*", "$1");
答案 0 :(得分:17)
>>> 'words!?.,;:'.rstrip('?:!.,;')
'words'
答案 1 :(得分:0)
在这种情况下,rstrip
可能就是你想要的。但总的来说,将Java这样的东西翻译成Python并不难。直接翻译如下:
import re
subject_string = 'Iced tea..'
result_string = re.sub('([a-z]+)[?:!.,;]*',r'\1',subject_string)
答案 2 :(得分:0)
import string
s='aaa...,'
count= 0
>>> for l in s[::-1]:
... if l in string.punctuation:
... count = count +1
... else:
... break
>>> s[:c]
'aaa'