2016-08-11 2 views
0

Что такое синтаксис python для вставки разрыва строки после каждого появления символа «X»? Это ниже дал мне список объектов, который не имеет никакого раскола атрибут ошибкиPython вставить разрыв строки в строке после символа «X»

for myItem in myList.split('X'): 
    myString = myString.join(myItem.replace('X','X\n')) 
+2

Как могло быть любое X, если вы распались на X? –

ответ

4
myString = '1X2X3X' 
print (myString.replace ('X', 'X\n')) 
2

Python 3.X

myString.translate({ord('X'):'X\n'}) 

translate() позволяет Dict, таким образом, вы можете заменить более чем один различный характер во время ,

Почему translate() над replace()? Проверить translate vs replace

Python 2,7

myString.maketrans('X','X\n') 
+0

Отлично, не знал, что ... –

+1

@JacquesdeHooge ur welcome, я добавил сравнительный перевод и замену. – levi

+0

почему downvote? – levi

1

список не имеет split метод (как говорит ошибка).

Предполагая myList список строк и вы хотите заменить 'X' с 'X\n' в каждый раз из них, вы можете использовать список понимание:

new_list = [string.replace('X', 'X\n') for string in myList] 
1

Вы можете просто заменить X на «Х \ п»

myString.replace("X","X\n") 
0

Основываясь на ваших деталях вопрос, это звучит как наиболее подходящим является str.replace, как это было предложено @DeepSpace. Ответ @ levi также применим, но может быть немного слишком большой пушки для использования. Я добавляю к этому еще более мощный инструмент - регулярное выражение, которое медленнее и труднее понять, но в случае, если это не замена «X» -> «X \ n», которую вы на самом деле пытаетесь сделать, а что-то более сложное, вы должны рассмотреть:

import re 
result_string = re.sub("X", "X\n", original_string) 

Для получения более подробной информации: https://docs.python.org/2/library/re.html#re.sub

Смежные вопросы