Python::删除所有匹配项直到第一个空格

标签 python string

如何删除字符串中直到第一个空格的所有出现,以便:

strings = ["1234 zoocore", "4356 00's punk"]

变成:["zoocore", "00's punk"] ?

我试过正则表达式:

for s in strings:
    new_s = re.sub(r'\d+','', s)

但这也会删除 00',这是我不想要的。

最佳答案

您可以使用 str.split使用 maxsplit 参数:

>>> strings = ["1234 zoocore", "4356 00's punk"]
>>> [s.split(None, 1)[1] for s in strings]
['zoocore', "00's punk"]

如果您有不包含空格的字符串,您可以使用 -1 作为索引:

>>> strings = ["1234 zoocore", "4356 00's punk", "rock"]
>>> [s.split(None, 1)[-1] for s in strings]
['zoocore', "00's punk", 'rock']

关于Python::删除所有匹配项直到第一个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42195910/

相关文章:

计算数组长度 (sizeof str/sizeof (char)) 不起作用

python - 如何提取 HTML 中元素的内容?

python - exchangelib - 自动发现协议(protocol)中的所有步骤均失败

python - ThreadPoolExecutor 未定义 [python3]

python - 如何在赋值期间以向量化方式移动输出变量(在 numpy 中)的索引

python - 升级到 Ubuntu 18.10 后,带有 python3 的 Spyder 崩溃

java - 不可变的 Java 字符串如何提高安全性?

用C调用汇编代码,输出错误

c# - 为什么默认的字符串比较器无法保持传递一致性?

python - 为什么 300*300 的 Oval 不能完美地适合 300*300 的 Canvas?