我已经问过这个问题了 后来我意识到这个工具 我写的是JYTHON CODES 目前支持2.1版本 因为解释器是2.1所以有些 先进的技术不起作用。
现在是一个新的,很兴奋的学习 更多在jython中,以便ican写更多 更好,更智能的代码。
jython中的FOR LOOP比while循环更快:
- 醇>
我有一个从XML文件中取出的长字符串,看起来像 这个
CDATA [EMP_ID]]
我希望这是
CDATA [TRIM(EMP_ID)]
总之,只需添加TRIM()即可 栏目名称不断变化,做我曾经使用的一方 更换
REPLACE('CDATA [TRIM(')
我在寻找答案如何放置 无论任何数字,都要关闭 打开括号后的字符。
我想如果我搜索的技术 对于IF SUB(LINE,1,52)=='CDATA [' 然后更换']]>' WITH ')]] GT;>'解决我的需要。
当我试图用STARTWITH搜索时 ,SUB它也给我其他字符串 因为它们匹配线的某些部分。
简而言之我的问题
有没有简单的方法呢?
- 醇>
如果正确,如何使用正确的搜索技术。
再次感谢大家,这个 论坛真的帮助了我很多 学习jython并纠正和 向我展示正确的方法。
再次感谢您的帮助。
答案 0 :(得分:0)
在这种情况下,简单的正则表达式可能就足够了:
import re
f = open('your_file.xml')
try:
xml = f.read()
xml_with_trim = re.sub(r'(CDATA\[)([A-Z_]+)(\]\])', r'\1TRIM(\2)\3', xml)
print xml_with_trim
finally:
f.close()
使用'[A-Z_]+' regex
匹配列名称,即一个或多个大写字母或'_'
。请参阅re module的文档。