Извлечение строки с заданным номером.дефиса - PullRequest
0 голосов
/ 29 ноября 2018

Если у меня есть пример строки следующим образом:

LEARNING-LEARNING-LEARNING-LEARNING-LEARNING-COMPANY_ORG_CHART-LEARNING-LEARNING-LEARNING-END

Я хочу извлечь только первый номер n.шагов, где n определяется по номерумежду дефисами.

So if n=5, 

Я хочу только первые 5 шагов.

Вывод:

LEARNING-LEARNING-LEARNING-LEARNING-LEARNING

Я пробовал это:

s1=re.search(r'([A-za-z_].*-{0,5}[A-za-z_].*?)',s)
print(s1.group())

Но он выдает всю строку в качестве вывода.

LEARNING-LEARNING-LEARNING-LEARNING-LEARNING-COMPANY_ORG_CHART-LEARNING-LEARNING-LEARNING-END
In [ ]:

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

Попробуйте:

s1 = re.search(r'^([A-za-z_]+-){0,4}[A-za-z_]+',s)
print(s1)

(этот пример для n = 5)

0 голосов
/ 29 ноября 2018

Если это фактический формат, то регулярное выражение может быть излишним для предоставленного образца.Еще одна опция - просто использование строковых методов и индексация:

x='LEARNING-LEARNING-LEARNING-LEARNING-LEARNING-COMPANY_ORG_CHART-LEARNING-LEARNING-LEARNING-END'

print('-'.join(x.split('-')[:5]))

'LEARNING-LEARNING-LEARNING-LEARNING-LEARNING'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...