In my project I am webscrapping UFC website to gather to the total wins, total losses, and total draws of each UFC athlete.
This is part of my code, as I wish to strip the total wins, total losses, and total draws separately:
import re
record = "10-7-3 (W-L-D)" #W = wins, L= Loss, D= Draws
char = "-"
record+="-"
totalwins = ""
totalloss = ""
totaldraws = ""
correctRecord = re.findall('[[^]]*]|([^)]*)|"[^"]*"|S+',record)[0]
print("The correct record per fighter is:", correctRecord)
totaldash = 0
for i in range(len(correctRecord)):
if(record[i] == char):
totaldash+=1
if totaldash == 1:
print("The total wins", totalwins)
totalwins =""
elif totaldash ==2:
print("The total losses ", totalwins)
totalwins=""
elif totaldash ==3:
print("The total draws ", totalwins)
elif (correctRecord[i] !=char):
totalwins +=correctRecord[i]
The result is the following:
The correct record per fighter is: 10-7-3 The total wins 10 The total losses 7
The problem is, I am unable to spew out the total draws. I also tried using the strip method with no avail:
correctRecord= str(record.split(separator, 1)[0])
Advertisement
Answer
Try:
import re
record = "10-7-3 (W-L-D)"
wins, loss, draw = map(int, re.findall(r"d+", record))
print(f"{wins=} {loss=} {draw=}")
Prints:
wins=10 loss=7 draw=3