Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

add text between two qoutes in python

Tags:

python

regex

i'm weak in regex, excuse me for asking this question i have sort of strings like these:

4H71NP35P2",""
80844UNWR2",""
53UT5Z7E09",""
963ZF761A4",""
9U30538OX8",""
F1CK67N510",""
308VWHR688",""
6I5E8XKL6H",""
Y42WHYY997",""
3SF73CDEGX",""
JGQB0X133N",""
5Y5Z956O45",""
XKMXJJA822",""
Y0ZO3N28O1",""
2F59677ZX7",""
77T513NIC9",""
RH799SKGN7",""

i want to add a string between "", i tried some regex codes but none of them worked.

as the result i want to have something like

4H71NP35P2","somthing1"
80844UNWR2","somthing2"
53UT5Z7E09","somthing3"
.
.
.

thanks.

like image 334
anon Avatar asked Jul 30 '26 04:07

anon


2 Answers

Given the large string, you can use regex:

import re
s = """
4H71NP35P2",""
80844UNWR2",""
53UT5Z7E09",""
963ZF761A4",""
9U30538OX8",""
F1CK67N510",""
308VWHR688",""
6I5E8XKL6H",""
Y42WHYY997",""
3SF73CDEGX",""
JGQB0X133N",""
5Y5Z956O45",""
XKMXJJA822",""
Y0ZO3N28O1",""
2F59677ZX7",""
77T513NIC9",""
RH799SKGN7",""
"""
new_s = re.sub('""', '{}', s).format(*['"something{}"'.format(i) for i, a in enumerate(re.findall('""', s), start=1)])

Output:

4H71NP35P2","something1"
80844UNWR2","something2"
53UT5Z7E09","something3"
963ZF761A4","something4"
9U30538OX8","something5"
F1CK67N510","something6"
308VWHR688","something7"
6I5E8XKL6H","something8"
Y42WHYY997","something9"
3SF73CDEGX","something10"
JGQB0X133N","something11"
5Y5Z956O45","something12"
XKMXJJA822","something13"
Y0ZO3N28O1","something14"
2F59677ZX7","something15"
77T513NIC9","something16"
RH799SKGN7","something17"
like image 197
Ajax1234 Avatar answered Jul 31 '26 19:07

Ajax1234


You can use the replace method

for i,v in enumerate(a):
   print v.replace('""', '"somthing{0}"'.format(i)).strip()

Output:

4H71NP35P2","somthing0"
80844UNWR2","somthing1"
53UT5Z7E09","somthing2"
963ZF761A4","somthing3"
9U30538OX8","somthing4"
F1CK67N510","somthing5"
308VWHR688","somthing6"
6I5E8XKL6H","somthing7"
Y42WHYY997","somthing8"
3SF73CDEGX","somthing9"
JGQB0X133N","somthing10"
5Y5Z956O45","somthing11"
XKMXJJA822","somthing12"
Y0ZO3N28O1","somthing13"
2F59677ZX7","somthing14"
77T513NIC9","somthing15"
like image 43
Rakesh Avatar answered Jul 31 '26 17:07

Rakesh