-3

如何在标签大写之间制作一个字符?

例如我有这个字符串:

string = "<big>t<big>his should be <big>u<big>ppercase"

应该导致:

This should be Uppercase
4

3 回答 3

1

与 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
于 2018-11-10T11:39:00.700 回答
1

尝试这个:

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 中预定义的。

于 2018-11-10T11:50:32.923 回答
0

这些看起来不像真正的 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)])
于 2018-11-10T11:52:34.590 回答