Jython 如何去除字符串中的字符
这是一个关于WebSphere的问题。
我想把这个命令变成变量。
AdminConfig.modify('(cells/taspmociias204Cell01/clusters/cam_group|resources.xml#J2EEResourceProperty_1324400045826)'
我发现这个命令:
AdminConfig.list('J2EEResourceProperty', 'URL*cam_group*)').splitlines()
会返回:
['URL(cells/taspmociias204Cell01/clusters/cam_group|resources.xml#J2EEResourceProperty_1324400045826)', 'URL(cells/taspmociias204Cell01/clusters/cam_group|resources.xml#J2EEResourceProperty_1355156316906)']
所以我把这个命令变成了一个变量:
j2ee = AdminConfig.list('J2EEResourceProperty', 'URL*cam_group*)').splitlines()
现在我可以通过输入“j2ee[0]”来得到我想要的字符串,结果是:
'URL(cells/taspmociias204Cell01/clusters/cam_group|resources.xml#J2EEResourceProperty_1324400045826)'
这正是我想要的,除了前面多了个网址的部分。我该怎么去掉那些字符呢?
2 个回答
0
你可以使用一个简单的替换正则表达式来提取出网址部分。
比如说:
import re
mystr = 'URL(blahblahblah)'
re.sub(r'^URL', "", mystr)
这是一个很实用的工具,可以帮助你学习和测试你的正则表达式,确保它们是正确的。http://gskinner.com/RegExr/
1
我不太确定我是否理解了你的需求,但看起来你想要修改一些J2EEResourceProperty对象的属性。
如果是这样的话,其实你不需要去删除那个“URL”字符串,实际上你不应该这么做。这个字符串 'URL(cells/taspmociias204Cell01/clusters/cam_group|resources.xml#J2EEResourceProperty_1324400045826)'
完全可以用来识别WebSphere的配置对象。你可以试试这个:
AdminConfig.modify('URL(cells/taspmociias204Cell01/clusters/cam_group|resources.xml#J2EEResourceProperty_1324400045826)', [['value', 'the new value'], ['description', 'the new description']])
顺便说一下,你也可以尝试使用WDR库(https://github.com/WDR/wdr/)。这样你的脚本看起来会是这样的:
prop = listConfigObjects('J2EEResourceProperty')[0]
prop.value = 'the new value'
prop.description = 'the new description'
声明:我是WDR的贡献者之一。