字符的第一次和最后出现?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符的第一次和最后出现?相关的知识,希望对你有一定的参考价值。

我有这样的字符串列表(金额,地址,付款):

"44.53 54 orchard rd Cash"
"32.34 600 sprout brook lane Card"

我只是想从每个字符串中获取地址。在我看来,执行此操作的最佳方法是在空间的第一个和最后一个出现时进行拆分。有什么办法吗?

答案

您可能会做类似的事情:

line = "44.53 54 orchard rd Cash"
line_parts = line.split(" ")
address = " ".join(line_parts[1:-1])

这有点不整洁,而且对行格式的更改肯定很脆弱,但是可以完成工作。

另一答案

您可以使用您的方法,在第一个和最后一个空格处分割,但是您需要将其余的(中间)连接起来:

def get_address(s):
    s = s.split()
    return ' '.join(s[1:-1])

输入:

print(get_address("44.53 54 orchard rd Cash"))
print(get_address("32.34 600 sprout brook lane Cash"))

输出:

54 orchard rd
600 sprout brook lane
另一答案

您也可以使用正则表达式更加灵活

import re

addresses = [
    "44.53 54 orchard rd Cash",
    "32.34 600 sprout brook lane Card"
]

addresses = [re.findall(r'\d+.\d+ ([\w\W]+) \w+', address) for address in addresses]

以上是关于字符的第一次和最后出现?的主要内容,如果未能解决你的问题,请参考以下文章

Hive:字符串中的第一次和最后一次出现

用另一个字符串替换第一次和最后一次出现的字符串

子字符串,在最后一次出现字符之后?

替换字符串中最后一次出现的字符[重复]

替换字符串中最后一次出现的字符串

MYSQL:查找字符串中字符的最后一次出现