Печать отдельных разделенных строк - PullRequest
0 голосов
/ 11 мая 2018

Следующий код принимает строку, такую ​​как abcd # 1234, удаляет '#' и разбивает ее на abcd и 1234

import sys
import re

print("User ID: {0}").format(sys.argv[1])
print("User Type: {0}").format(sys.argv[2])

sub = re.sub('[#]', '', sys.argv[1])
split = re.match(r"([a-z]+)([0-9]+)", sub, re.I)
print(split.groups())

Выходные данные print(split.groups()) - это <'abcd', '1234'> Как я могу взять отдельный раздел разбиения, такой как abcd, и просто вывести его?

Ответы [ 4 ]

0 голосов
/ 11 мая 2018

Вы также можете использовать разделение напрямую и просто попросить его взять второй элемент.

import sys
import re

string="abcd#1234"
string1=string.split("#")[1]  # tells it to take the second element of the split

print(string1) # Prints 1234
0 голосов
/ 11 мая 2018

Использовать индекс.

Ex:

s = "abcd#1234"
import re
sub = re.sub('[#]', '', s)
split = re.match(r"([a-z]+)([0-9]+)", sub, re.I)
print(split.groups()[0])
print(split.groups()[1])

Выход:

abcd
1234
0 голосов
/ 11 мая 2018

Вы можете просто получить значения каждого, как показано ниже:

data = split.groups()
if len(data) == 2:
    name, id = data
    print(name, id)

Или вы можете использовать group([group1, ...]).

0 голосов
/ 11 мая 2018
split.group(1) # --> 'abcd'
split.group(2) # --> '1234'

https://docs.python.org/3/library/re.html#re.match.group

...