python - 如何在第一次出现数字之前的最后一个字母处截断字符串?

标签 python string parsing indexing

我试图在字符串中查找内容 - 所有内容都在数字之前,例如:

"Diablo Lord Of Destruction 9.2"

这是一个文件的索引,这样 file[2] = "Diablo Lord Of Destruction 9.2"

我如何编写仅选择文本并省略数字和这些数字前的任何空格的代码(如下所示)?

"Diablo Lord Of Destruction"

我知道您可以通过执行以下操作轻松地做到这一点:

contents = file[2]
print contents[0:-2]

由于值会发生变化,我需要一个更强大的解决方案来处理不同大小的数字和不同长度的空白区域。

最佳答案

这会从您的字符串中删除所有数字和句点:

import re
>>> filtered = re.sub('[0-9.]*','',"Diablo Lord Of Destruction 9.2  111" )
>>> filtered
'Diablo Lord Of Destruction   '
>>> filtered.strip()           # you might want to get rid of the trailing space too!
'Diablo Lord Of Destruction'

关于python - 如何在第一次出现数字之前的最后一个字母处截断字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11419065/

相关文章:

python插入mysql

python - 将 Python/Numpy 代码转换为 Cython - 数组问题 - 缓冲区类型仅允许作为函数局部变量?

string - 访问Lua的内置字符串哈希函数

java - 字符串替换用 $ 符号抛出错误

parsing - 进一步解析特殊情况下的表达式

java - 将逻辑文本解析为Json结构

python - PyTorch:如何打印网络中每一层的输出 blob 大小?

python 套接字 : how to detect that client has closed/disconnected from the server side

javascript - 比较字符串日期 html

java - Java 有没有好的日期解析器?