我昨晚在Python3中试图处理字符串。 如果你能帮助我解决这个问题,那么从你的角度来看,这将非常有帮助。对python字符串执行选择性替换?
所以,假设我有一个字符串,像这样:
a = "√22+34-4+√(2+3)/5+√3"
注:该字符串是用户输入,并且可以改变每一次。
我要管理的字符串是这样的:
a = "√(22)+34-4+√(2+3)/5+√(3)"
然后我可以代替“√”,由“开方”使用a.replace("√","sqrt").
有什么建议?很遗憾我的英语不好:) 感谢
你想要匹配的是“√后面跟着一串数字,但不是√,后面跟着括号中的表达式”,对吧?用纯粹的'str'方法编写起来相当困难,但用正则表达式或pyparsing'或其他几乎任何其他方法编写都比较容易。 – abarnert 2014-10-28 01:02:55
如果你的问题真的是关于如何修改一个Python字符串:你不能(至少不是“就地”)。不过,您可以根据前一个创建新的字符串。 http://stackoverflow.com/questions/9189172/python-string-replace – 2014-10-28 01:05:00
@abarnet&RicardoCárdenes:我想要做的是抓住后面的数字√,当出现“+”或“ - ”或“ *“或”/“或”(“或”)“。 arshaji的答案足以解决我的问题。我可以使用正则表达式“re”。 非常感谢您的回答:) – 2014-10-28 01:58:44