Это делает именно то, что вы хотите, чтобы это было сделано в 1 строке кода:
#Theres actually 4 things going on in this 1 line of code
df['Code_Boxes'] = (((df['Code_Boxes'].str.rsplit('pjp-')).str[1]).str.rsplit('|')).str[1]
Это будет работать, только если то, что вы говорите, «pjp-» всегда впереди и «|» в конце того, что вы хотите разделить. Чтобы вы могли узнать, что я сделал, посмотрите 4 шага ниже.
#these 4 things can actually be done in one line, but its easy to see what we're doing this way.
df['Code_Boxes'] = df['Code_Boxes'].str.rsplit('pjp-')
df['Code_Boxes'] = df['Code_Boxes'].str[1]
df['Code_Boxes'] = df['Code_Boxes'].str.rsplit('|')
df['Code_Boxes'] = df['Code_Boxes'].str[1]
Попробуйте это:
"(?:[^\\"]+|\\.)*"
Это регулярное выражение соответствует символу двойной кавычки, сопровождаемому последовательностью любого любого символа кроме \
и "
или завершенная последовательность \
α
(где α
может быть любой символ), сопровождаемый заключительным символом двойной кавычки. (?:
expr
)
синтаксис является просто негруппой фиксации.