【问题标题】:Python string.split() How to ignore empty spaces [duplicate]Python string.split()如何忽略空格[重复]
【发布时间】:2020-09-27 07:35:21
【问题描述】:

我正在使用 split 解析 http 请求,遇到了一些我不喜欢但不知道更好的方法的东西。

想象一下我有这个 GET :/url/hi

我只是像这样拆分网址:

fields = request['url'].split('/')

这很简单,它可以工作,但它也使列表的内容具有第一个位置作为空字符串。我知道这是预期的行为。

问题是:我可以改变 split 的调用来考虑这样的事情还是我只是忍受它?

【问题讨论】:

标签: python string split


【解决方案1】:

如果您总是想删除列表中的第一个条目,您可以这样做:

fields = request['url'].split('/')[1:]

如果您只想从列表中删除任何空字符串,您可以使用以下命令来代替您的初始调用:

fields.remove('')

希望对你有帮助!

【讨论】:

  • 如果字符串有多个空字符串怎么办
  • 在这种情况下,我会使用内置的过滤器功能
【解决方案2】:

好的,如果你确定你的字符串以 '/' 开头 你可以像这样忽略第一个字符:

url = request['url']
fields = url[1:].split('/')   #[1: to end]

如果您不确定,请先简单检查:

url = request['url']
if url.startswith('/'):
    url = url[1:]
fields = url.split('/')

编码愉快?

【讨论】: