如何从python中的列表中分区字符串

问题描述

python 示例中从列表中分割文本字符串的最佳方法是什么:

["AVE FCO MADERO","AVE FRANCISCO I MADERO"]

str = "AVE FCO MADERO MZA 23 LT 43"
str = "AVE FRANCISCO I MADERO # 455 MZA 3 INT 4"

想要可变分区

v1 = "AVE FCO MADERO"
v2 = "MZA 23 LT 43"

v1 = "AVE FRANCISCO I MADERO"
v2 = "# 455 MZA 3 INT 4"

解决方法

您可以使用 str.find 和切片。

def split(ss,prefixes):
    for prefix in prefixes:
        if ss.find(prefix)==0:
            return (ss[:len(prefix)],ss[len(prefix):])
    return "",""

>>> s1,s2 = split("AVE FCO MADERO MZA 23 LT 43",prefixes)
('AVE FCO MADERO',' MZA 23 LT 43')
>>> s1,s2 = split("AVE FRANCISCO I MADERO # 455 MZA 3 INT 4",prefixes)
('AVE FRANCISCO I MADERO',' # 455 MZA 3 INT 4')

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...