Python在字符“X”后插入字符串换行符

6
什么是在每个字符“X”出现之后插入换行符的Python语法?以下内容给我了一个列表对象,该对象没有split属性错误。
for myItem in myList.split('X'):
  myString = myString.join(myItem.replace('X','X\n'))

2
如果你已经以X为分割点,那么还会有任何X吗? - Padraic Cunningham
5个回答

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

2

Python 3.X

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

translate() 函数可以接受一个字典,因此您可以一次替换多个不同的字符。

为什么要选择 translate() 而不是 replace()?请参考 translate vs replace

Python 2.7

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

1
@JacquesdeHooge 没问题,我添加了一个比较翻译和替换的例子。 - levi

2
您可以将X简单地替换为“X\n”。
myString.replace("X","X\n")

1
一个列表没有 split 方法(正如错误所述)。
假设 myList 是一个字符串列表,并且你想在每个字符串中用 'X\n' 替换 'X',你可以使用列表推导式:
new_list = [string.replace('X', 'X\n') for string in myList]

1
根据您的问题细节,最适合的是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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接