Резка струны в питоне

Я провел поиск, но не смог найти никакой полезной информации.

s = ['33PM']

Моя цель состоит в том, чтобы вырезать "PM" из s[0] и добавить его как s[1],

2 ответа

Ты можешь использовать re.findall извлечь непрерывный диапазон чисел и символов. \d+ будет извлекать все числа и \w+ будет извлекать все диапазоны символов

>>> import re 
>>> s = re.findall(r'\d+|\w+', s[0])
>>> s
['33', 'PM']

Вот метод, который использует простой код Python, избегая сложностей регулярных выражений. Это предназначено для тех случаев, когда вы знаете, что 'PM' находится в строке, и если в строке есть какой-либо текст после этого, он будет перемещен во второй элемент списка вместе с 'PM, Этот код также предполагает, что вы заботитесь только о первом элементе в списке - любые последующие элементы будут отброшены.

s = ['33PM']

string0 = s[0]
loc = string0.find('PM')
s = [string0[:loc], string0[loc:]]

Если вы сейчас печатаете s результат

['33', 'PM']
Другие вопросы по тегам