python用空行替换一个单词或在单词后面添加一个新行

时间:2015-08-24 17:22:29

标签: python replace newline

如何在单词后附加空行或如何将短语拆分为特定单词的段落格式并将其值分配给另一个字符串

input: "hello"

output: "hello"
        #empty line


input : "hello this is test"   #after hello i want to split the data into new line

output : "hello   
    this is test" #New line and tab

我的代码:

string = "hello this is test"  
string2 = string.replace("hello","hello \n\t")

但我的输出是

"'hello \n\t this is test'"

但是当我这样做时:

print(string2) 

我的结果是我需要的格式

"hello   
   this is a test"

问题:
如何在不打印字符串的情况下执行此操作?

2 个答案:

答案 0 :(得分:1)

你的代码很好。如果将其用作变量或将其存储在文本文件中,您将获得预期的输出。 但是,当您执行命令string2 = string.replace("hello","hello \n\t")时,Python会在完全解释之前打印出 看到字符串的方式。换句话说,它打印值的字符表示。继续使用变量 - 它将显示您需要的结果,只需忽略string2 =命令的不需要的输出。 您可以在此处阅读有关Python表示的更多信息:

http://satran.in/2012/03/14/python-repr-str.html

快乐的编码,祝你好运!

答案 1 :(得分:0)

答案:
由于python存储字符串的方式,如果不打印,你真的不能这样做。

为什么:
当你在字符串python中放置换行符"\n"时,在你想要实际解释字符串之前不考虑这一点。

这是因为在解释过程中对于字符串,"\"用作转义字符,告诉python查看下一个字符。

在你实际执行这种解释之前,python只保存变量中的字符串值,在本例中为string2 = "hello \n\t this is test",并且它不解释它,因此转义字符不是看看,因此python不显示你可能期望的格式。

一旦你实际print(string2) python解释字符串并看到转义字符并按预期工作。

结论:
您的代码中没有错误,您应该可以使用与现在完全相同的字符串。