Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Replace JYTHON 2.0代码-字符串操作和替换_Replace_Jython_Text Manipulation - Fatal编程技术网

Replace JYTHON 2.0代码-字符串操作和替换

Replace JYTHON 2.0代码-字符串操作和替换,replace,jython,text-manipulation,Replace,Jython,Text Manipulation,我已经问过这个问题了 我后来意识到了这个工具 我在为之写JYTHON代码 目前支持直到2.1版本 由于intepreter为2.1,因此 先进的技术不起作用 现在是一个新的和兴奋的学习 更多关于jython的内容,以便我能写更多 更好、更智能的代码 jython中的FOR循环比while循环快: 我从一个XML文件中提取了一个长字符串,看起来像 这个 CDATA[EMP\U ID]] 我希望这样 CDATA[TRIMEMP\U ID] 简言之,只需在周围添加修剪 不断变化的列名 做我用过的那一面

我已经问过这个问题了 我后来意识到了这个工具 我在为之写JYTHON代码 目前支持直到2.1版本 由于intepreter为2.1,因此 先进的技术不起作用

现在是一个新的和兴奋的学习 更多关于jython的内容,以便我能写更多 更好、更智能的代码

jython中的FOR循环比while循环快:

我从一个XML文件中提取了一个长字符串,看起来像 这个

CDATA[EMP\U ID]]

我希望这样

CDATA[TRIMEMP\U ID]

简言之,只需在周围添加修剪 不断变化的列名

做我用过的那一面 替换

替换“CDATA[TRIM”

我正在寻找答案,想知道如何把 不考虑任何数字的右括号 打开括号后的字符数

我认为如果我搜索 对于IF子行,1,52=='CDATA[' 然后将“]]>”替换为 “]]>>”解决我的需要

当我试图用STARTWITH搜索时 ,它也给了我其他的字符串 因为它们与线路的某些部分相匹配

简言之,我的问题

有没有简单的方法

如果我是对的,如何使用正确的搜索技术

再次感谢你们所有人,这个 论坛真的帮了我很多忙 学习jython,纠正和纠正错误 告诉我正确的方法

再次感谢你的帮助


在这种情况下,一个简单的正则表达式就足够了:

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_]”正则表达式匹配,即一个或多个大写字母或“_”。参见文档。

我不知道为什么,但这不起作用,它仍然显示相同的结果,没有添加修剪,我使用了与上面所示相同的代码。任何其他方式。谢谢你的帮助