【发布时间】:2020-11-15 02:28:53
【问题描述】:
我正在编写这个函数,它需要返回一个str 的缩写版本。返回str 必须包含第一个字母,删除的字符数和最后一个字母;它必须是每个单词而不是句子的缩写,然后我需要以相同的格式再次加入每个单词,包括特殊-人物。我尝试使用re.findall() 方法,但它会自动删除特殊字符,所以我不能使用" ".join(),因为它会遗漏特殊字符。
这是我的代码:
import re
def abbreviate(wrd):
return " ".join([i if len(i) < 4 else i[0] + str(len(i[1:-1])) + i[-1] for i in re.findall(r"[\w']+", wrd)])
print(abbreviate("elephant-rides are really fun!"))
输出将是:
e6t r3s are r4y fun
但是输出应该是:
e6t-r3s are r4y fun!
【问题讨论】:
标签: python python-3.x string special-characters