Jython如何删除字符串

时间:2014-03-13 15:31:13

标签: python regex websphere jython wsadmin

这是一个与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)'

这正是我想要的,减去前面的URL部分。我怎样才能摆脱这些角色?!

2 个答案:

答案 0 :(得分: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']])

BTW:您也可以尝试使用WDR库(https://github.com/WDR/wdr/)。然后你的脚本看起来如下:

prop = listConfigObjects('J2EEResourceProperty')[0]
prop.value = 'the new value'
prop.description = 'the new description'

披露:我是WDR贡献者之一。

答案 1 :(得分:0)

您总是可以使用简单的替换正则表达式来解析URL部分。

例如:

import re
mystr = 'URL(blahblahblah)'
re.sub(r'^URL', "", mystr)

这是学习和测试正则表达式以确保它们正确无误的便捷工具。 http://gskinner.com/RegExr/