我认为没有多少人会提出这样的问题,但仍然如此。
所以,我有一个读取文件的Python程序,并且该文件有一些命令供程序执行(我自己的语法)。
程序将文件逐行读取为字符串。
如果它从文件读取的命令是:
'"Hello" + "World" + "!!!"'
我想将其转换为:
"Hello" + "World" + "!!!"
以便 python 可以将其读取为:
'HelloWorld!!!'
尽管我尝试了很多次,但还是没能做到。
帮助会受到喜爱。
我尝试过的一件事是使用 compile
函数执行代码:
obj = compile('a = '"Hello" + "World" + "!!!"'', '<string>', 'exec')
exec(obj)
print a
但它不是打印 'HelloWorld!!!'
,而是打印 "Hello"+ "World"+ "!!!"
,并将其放入字符串中返回到 '"Hello"+ "World"+ "!!!"'
。
注意:
该程序甚至可能会遇到变量。例如:
a = 42
'"The number" + "is" + a'
预期输出:
The number is 42
这种情况可以做什么?
最佳答案
您可以使用以下技巧:
m = '"Hello" + "World" + "!!!"'
print ''.join(m.replace('"', "").split(" + "))
输出:
HelloWorld!!!
首先替换 "
,然后使用 .split
创建一个仅包含单词的列表,然后使用 ''.join 从列表中生成字符串()
关于python - 转换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36128498/