Предполагая, что это string
:
a = " \
Comm IF Ver 1.18c Port TCP- \
>R5281H0000 \
>L0121 @g \
>E0042A1204C0000 \
>[email protected]@L0121 @g \
>S0339E1512 \
>"
Рассмотрите возможность использования split
чтобы получить ваш результат
b = a.split('>')[1:-1] #1 is to exclude the first one, -1 to exclude the last one
Результатом списка с элементами, которые вы хотите.
Если вы хотите, чтобы объединить их в string
с некоторыми пробелами, используйте join
:
c = " ".join(b)
Редактировать шаг за шагом объяснение:
Что split
делает это «расщепления» вашу строку в substrings
на основе его разделителя. В этом случае разделитель будучи >
, таким образом, он изменяет длинную строку:
a = " \
Comm IF Ver 1.18c Port TCP- \
>R5281H0000 \
>L0121 @g \
>E0042A1204C0000 \
>[email protected]@L0121 @g \
>S0339E1512 \
>"
В список строка будет содержать следующие элементы:
'Comm IF Ver 1.18c Port TCP-' #element no 0
'R5281H0000' #no 1
'L0121 @g' #no 2
'E0042A1204C0000' #no 3
'[email protected]@L0121 @g' #no 4
'S0339E1512' #no 5
'' #no 6
Затем, когда вы используете ломтик индексы [1:-1]
, вы режете выключение первого и последнего элемента:
'below is b
'R5281H0000' #no 0, previously 1
'L0121 @g' #no 1, previously 2
'E0042A1204C0000' #no 2, previously 3
'[email protected]@L0121 @g' #no 3, previously 4
'S0339E1512' #no 4, previously 5
Тогда, наконец, join
сделает эти строки в списке обратно в одну строку разделенных пробелом " "
R5281H0000 L0121 @g E0042A1204C0000 [email protected]@L0121 @g S0339E1512
Это из файла? или строку со многими строками? – Ian
Это строка с 6 строками, поэтому string.count ('\ n') дал результат 6. – Dominik
Что странно, потому что я вижу 7 строк? – Dominik