我从包含命名空间的XML文件中获取了节点名称:
从这里我想修剪名称空间,这是大括号。因此结果应该只是节点名称。可以将大括号中的所有内容与RegEx匹配,然后将其从字符串中删除。 直接匹配大括号后的内容。但是我真的很蠢到让Regex正确......
感谢您的帮助!
PS:我在Python 3中编码。
答案 0 :(得分:2)
试试这个:
s = '{http://datex2.eu/schema/2/2_0}nodeName'
search = re.search('{.*}(.*)',s)
print (search.group(1))
答案 1 :(得分:2)
如果你假设你想要"}"之后的所有内容,那么可以在没有正则表达式的情况下完成:
使用rsplit
- 在"}"
s.rsplit("}")[-1]
rsplit
更有效率 - 最多拆分一次
s.rsplit("}", 1)[-1]
使用rfind
提高效率,不会分配带有我们丢弃的前缀的字符串
s[s.rfind("}")+1:]
答案 2 :(得分:1)
喜欢这个? Demo
adduser