如何在标签大写之间制作一个字符?
例如我有这个字符串:
string = "<big>t<big>his should be <big>u<big>ppercase"
应该导致:
This should be Uppercase
与 txt 中的< big>一样长,删除标签并将它们之间的文本大写
def up(x):
idx1 = x.index('<big>')
idx2 = x.index('<big>', idx1+1)
new_x = x[:idx1]
new_x += x[idx1+5: idx2].upper()
new_x += x[idx2+5:]
return new_x
txt = "<big>t<big>his should be <big>u<big>ppercase"
while '<big>' in txt:
txt = up(txt)
print(txt) # This should be Uppercase
尝试这个:
import re
s="<big>t<big>his should be <big>u<big>ppercase"
result = re.finditer('<big>(.)<big>', s)
for i in result:
s = s.replace(i.group(0), i.group(1).upper())
笔记:
不要
str用作变量的名称。str是在 python 中预定义的。
这些看起来不像真正的 xml 标签。但是假设<big>正确使用了标签的数量,您可以将其按标签拆分并应用于upper()其间的字符串。
text = "<big>t<big>his should be <big>u<big>ppercase"
split_str = text.split('<big>')
result = ''.join([x.upper() if i % 2 else x for i, x in enumerate(split_str)])