我需要4行代码来完成这个脚本,但我认为可以在2行代码中完成(甚至可能是1行!让我们做梦吧)。有人有解决办法吗? 您可以测试代码以查看预期结果
def remove_nbr_at_the_end_of_the_string(my_str):
while my_str[-1] in ["0", "1", "2", "3" ,"4" ,"5" ,"6" ,"7" ,"8" ,"9"]:
my_str = my_str[:-1]
if my_str[-1] == " ": my_str = my_str[:-1]
return my_str
for text in ["ACCDS 122", "GR DDF 0332", "MLMD 12 334", "MMED DFE"]:
print(remove_nbr_at_the_end_of_the_string(text))
使用此选项可以从末尾删除最后一个数字和空格
你可以用正则表达式来做
import re
这将查找数字,从末尾使用“r”开始。 如果找到任何字符串,它将删除第一个(从后面),否则字符串将按原样返回
您可以使用正则表达式在一行中完成此操作(对于
import re
,两行):产生:
注意
?
前面的空格。这将限制它只删除一个数字,如果有一个数字,再加上空格。如果要扩展到其他形式的空白,如制表符,可以用\s
替换还请注意,正如所写的,这将删除任何在Unicode中被视为数字的内容。如果要限制为
0-9
,请使用以下命令:作为未来的参考,您的while循环条件可以简化为:
相关问题 更多 >
编程相关推荐