无论如何使用strip删除字符串中的字符?例如
如果我采取:
s = <city>Omaha</city>
s.strip("< ").strip(" > \n").strip("/")
那会变成:
city>Omaha</city
无论如何要移除城市&gt;和&lt; / city使用strip还是split?
答案 0 :(得分:0)
如果括号始终为<city>
和</city>
:
>>> s = "<city>Omaha</city>"
>>> s.strip("<city>").strip("</city>")
'Omaha'
答案 1 :(得分:0)
此代码通过拆分删除所有正确嵌套的标记:
s = "In the <noun>city</noun> of <city>Omaha</city>..."
parts = [x.split(">") for x in s.split("<")]
print(parts)
# [['In the '], ['noun', 'city'], ['/noun', ' of '], ['city', 'Omaha'], ['/city', '...']]
s = ''.join(parts[0] + [part[1] for part in parts[1:]])
print(s)
# In the city of Omaha...
答案 2 :(得分:0)
专门针对您的示例 - 如果输入中没有2个标记的单词:
s = "<city>Omaha</city>"
s.split('>')[1].split('<')[0]
输出:
'Omaha'
即使有完整的句子,这也会起作用 - 前提是句子中只有一个标签。
如果可以有多个:
example = "An example is only <word>valid</word> when its not <opposite>invalid</opposite>."
split_example = example.split('>')
for i in range(len(split_example)):
if "</" in split_example[i]:
split_example[i].split('<')[0]
输出:
'valid'
'invalid'