分裂的字符串的分离

2024-10-01 07:29:57 发布

您现在位置:Python中文网/ 问答频道 /正文

def getOnlyNames(unfilteredString):
    unfilteredString = unfilteredString[unfilteredString.index(":"):]
    NamesandNumbers = [item.strip() for item in unfilteredString.split(';')]
    OnlyNames = []

    for i in len(productsPrices):
        x = [item.strip() for item in productsPrices[i].split(',')]
        products.append(x[0])
    return products

所以我试图创建一个函数来分隔下面的字符串

 "Cars: Mazda 3,30000;     Mazda 5, 49900;"

所以我只会得到:

Mazda 3,Mazda 5

首先,我删除了:

然后我试着只知道那辆车的名字而不知道它的价格


Tags: inforindexlendefitemproductssplit
2条回答
"Cars: Mazda 3,30000;     Mazda 5, 49900;" 
  • 结肠裂开
    • ['Cars', ' Mazda 3,30000;     Mazda 5, 49900;']
      
  • 拆分分号上的最后一项
    • [' Mazda 3,30000', '     Mazda 5, 49900', '']
      
  • 将逗号上的前两项拆分。
    • [' Mazda 3', '30000'], ['     Mazda 5', ' 49900']
      
  • 取每个项目的第一项,去掉空白
    • 'Mazda 3'
      
    • 'Mazda 5'
      

您可以为此使用正则表达式:

import re
>>> s = "Cars: Mazda 3,30000; Mazda 5, 49900;"
>>> re.findall("[:;]\W*([^:;]*?)(?:,)", s)
['Mazda 3', 'Mazda 5']
>>> s = "Mazda 3, 35000; Cars: Mazda 4,30000;     Mazda 5, 49900;"
>>> re.findall("[:;]\W*([^:;]*?)(?:,)", s)
['Mazda 4', 'Mazda 5']

相关问题 更多 >