删除python RTL(从右到左)语言文本

时间:2017-07-11 06:57:26

标签: python

我正在尝试从python中的文本中删除\r\n个字符。但是,当我的程序遇到“波斯”文本时,这没有任何效果。

text = 'این تتلو ۴ میلیون طرفدار داره\nینی الگوی ۴ میلیون نفره\nینی رو ۴ میلیون نفر تاثیر میذاره حرفاش\nاین یعنی فاجعه'

text.replace("\r", '').replace("\n", '') # tried this, still not working
text.rstrip("\r\n") #not working
text.translate(str.maketrans("\n\t\r", "   ")) # not working

print(repr(text))# repr() displays \n and \r on output

\n仍然存在。我认为这是一种rtl(从右到左)的语言。在这种情况下如何删除这些换行符?

2 个答案:

答案 0 :(得分:2)

您必须指定替换结果:

text = 'این تتلو ۴ میلیون طرفدار داره\nینی الگوی ۴ میلیون نفره\nینی رو ۴ میلیون نفر تاثیر میذاره حرفاش\nاین یعنی فاجعه'

text = text.replace('\n', '')

print(repr(text))

答案 1 :(得分:1)

replace创建新的str对象:

text = 'این تتلو ۴ میلیون طرفدار داره\nینی الگوی ۴ میلیون نفره\nینی رو ۴ میلیون نفر تاثیر میذاره حرفاش\nاین یعنی فاجعه'
id(text)
140578645871120

id(text.replace("\r", '').replace("\n", ''))
4587132656

重新分配:

text2 = text.replace("\r", '').replace("\n", '')

text2
'این تتلو ۴ میلیون طرفدار دارهینی الگوی ۴ میلیون نفرهینی رو ۴ میلیون نفر تاثیر میذاره حرفاشاین یعنی فاجعه'