2017-10-04 1 views
0

Ich habe ein Problem, das einfacher sein könnte als ich es mache.Python Regex Suche nach allen passenden Strings

# /usr/bin/env python 
    import csv 
    import re 
    import math 

    gt_user = raw_input("Enter person you want to look for") 
    for list, nums in info: 
    if gt_usr == list: 
     re.search(r'/.$/', get_usr) 
     total += numbs 

Ich brauche alle Strings zu finden Benutzereingaben Namen ex passende: Benutzereingaben Beispiel aber in der CSV-Datensatz gibt es Beispiel-2455 ich für alle von ihnen suchen müssen und und sie zusammen in der gleichen Daten kombinieren gesetzt, da sie von der gleichen Stelle sind. ex: Kunde und Kunde-2334 sind die gleiche Person.

+2

Sie viel besser dran, nur sein werden mit '.startswith()' für diesen Fall. – Mangohero1

+0

Sie bekommen also die Nummern und fügen sie hinzu? – Steampunkery

+1

'^ BEISPIEL. * $' Wenn Sie wirklich Regex verwenden möchten. Offensichtlich wäre 'BEISPIEL' eine Variable – ctwheels

Antwort

0

Ich nehme an, Sie haben das Parsen der CSV in info weggelassen, die eine Liste von Zeilen darstellt, in denen jede Zeile ein Paar Elemente enthält: einen Namen und eine Zahl, die Sie zählen möchten. Es klingt wie Sie so etwas wie die folgenden wollen:

total = 0 
gt_user = raw_input("Enter person you want to look for") 
for name, num in info: 
    if gt_user in name: 
     total += num 

Oder einfacher:

gt_user = raw_input("Enter person you want to look for") 
total = sum(num for name, num in info if gt_user in name) 
+0

Verdammt n00b Fehler in der Arbeit an der if-Schleife Teil –