擅长:python、mysql、java
<p>为了尽可能接近您的代码:</p>
<pre><code>import re
f = open('EuroMenu.txt','w')
with open("menu.txt", "r") as ins:
for line in ins:
myArray = line.split()
if myArray:
m = re.search(r'\$(\d+(?:\.\d{1,2})?)\.?$', myArray[-1])
if m:
amount = m.groups()[0]
myArray[-2] = str(float(amount)*0.75)
myArray[-1] = 'euros'
f.write(" ".join(myArray) + " \n")
f.close()
</code></pre>
<p>以下是正则表达式的说明:</p>
^{pr2}$
<p>实际上并不需要list(“array”),但如果确实需要最右边的元素,请使用<code>myArray[-1]</code>,而不是{<cd2>}。在</p>
<p>你最初是在一个字符串上加上,然后一次把所有的东西都写出来。每次附加到字符串都会创建一个新的字符串对象(它实际上不是“append”,尽管这可能是特定于实现的)。边走边写每一行更整洁。在</p>
<p>我不明白你为什么有<code>menu</code>或<code>array</code>名单。在</p>
<p>顺便说一下,您可以使用(python 2)获得欧元符号</p>
<pre><code>euro = unichr(0x20ac)
</code></pre>