有没有办法让代码更干净?I';我还在学Python。先谢谢你。不使用条带法
此代码将删除前导和尾随空格、换行符和制表符有没有办法让代码更干净?I';我还在学Python。先谢谢你。不使用条带法,python,python-3.x,string,while-loop,slice,Python,Python 3.x,String,While Loop,Slice,此代码将删除前导和尾随空格、换行符和制表符 def clean(message): while message[0] in '\n': message = message[1:] while message[0] in '\t': message = message[1:] while message[0] in ' ': message = message[1:] while message[-1] in '\t'
def clean(message):
while message[0] in '\n':
message = message[1:]
while message[0] in '\t':
message = message[1:]
while message[0] in ' ':
message = message[1:]
while message[-1] in '\t':
message = message[:-1]
while message[-1] in ' ':
message = message[:-1]
while message[-1] in '\n':
message = message[:-1]
while message[-1] in ' ':
message = message[:-1]
return message
您可以使用
strip
。默认情况下,strip
从开头和结尾删除所有空白字符,例如'\n'
,'\t'
,'
def clean(message):
return message.strip()
或者,如果希望更加明确,可以使用message.strip('\n\t')
。可以添加其他字符以从两端删除其他字符
由于这是一种内置方法,因此比while循环快得多
根据OP的要求,不使用
strip
:
简单地组合一些while循环
def clean(message):
while message[0] in '\n\t ':
message = message[1:]
while message[-1] in '\n\t ':
message = message[:-1]
return message
使用索引也更好,所以您不必在每个循环中修改消息。这样也更快
def clean(message):
start, end = 0, -1
while message[start] in '\n\t ':
start += 1
while message[end] in '\n\t ':
end -= 1
return message[start:end]
您可以使用strip
。默认情况下,strip
从开头和结尾删除所有空白字符,例如'\n'
,'\t'
,'
def clean(message):
return message.strip()
或者,如果希望更加明确,可以使用message.strip('\n\t')
。可以添加其他字符以从两端删除其他字符
由于这是一种内置方法,因此比while循环快得多
根据OP的要求,不使用strip
:
简单地组合一些while循环
def clean(message):
while message[0] in '\n\t ':
message = message[1:]
while message[-1] in '\n\t ':
message = message[:-1]
return message
使用索引也更好,所以您不必在每个循环中修改消息。这样也更快
def clean(message):
start, end = 0, -1
while message[start] in '\n\t ':
start += 1
while message[end] in '\n\t ':
end -= 1
return message[start:end]
一种可能的方法可能包括查找/替换不需要的字符/项目。这是否回答了您的问题?一种可能的方法可能包括查找/替换不需要的字符/项目。这是否回答了您的问题?啊,是的!我忘了提到没有使用剥离法。非常感谢!这看起来比我的好多了。啊,是的!我忘了提到没有使用剥离法。非常感谢!这看起来比我的好得多。