gpt4 book ai didi

python - Python如何按字符拆分但保持该字符?

转载 作者:太空狗 更新时间:2023-10-30 00:49:18 25 4
gpt4 key购买 nike

Google map 结果通常这样显示:

enter image description here

'\n113 W 5th St\nEureka, MO, United States\n(636) 938-9310\n'

另一种变体:

enter image description here

'Clayton Village Shopping Center, 14856 Clayton Rd\nChesterfield, MO, United States\n(636) 227-2844'

还有一个:

enter image description here

'Wildwood, MO\nUnited States\n(636) 458-7707'

注意 \n 字符位置的变化。

我希望提取前 X 行作为地址,最后一行作为电话号码。诸如 (.*\n.*)\n(.*) 之类的正则表达式对于第一个示例就足够了,但对于其他两个示例来说就不够了。我唯一可以依赖的是电话号码的格式为 (ddd) ddd-dddd

我认为很难找到一个允许每一种可能的变化的正则表达式。是否可以使用 split(),但保持我们拆分的字符?所以在这个例子中,按 "(" 拆分,拆分出地址和电话号码,但在电话号码中保留这个字符?我可以连接 "(" 回到 split("(")[1],但是有没有更简洁的方法?

最佳答案

不要使用正则表达式。只需在 '\n' 上拆分字符串。最后一个索引是电话号码,其他索引是地址。

lines   = inputString.split('\n')
phone = lines[-1] if lines[-1].match(REGEX_PHONE_US) else None
address = '\n'.join(lines[:-1]) if phone else inputString

Python 有很多很棒的内置工具,用于以比正则表达式更……人性化的方式……操作字符串。

关于python - Python如何按字符拆分但保持该字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31107132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com