使标签中的字符大写并删除标签

时间:2018-11-10 11:31:08

标签: python string

如何在标签之间使用大写字母?

例如,我有以下字符串:

async function starsActMostMovies(){
const res = await Movie.aggregate([
    {
        $group: {
            _id : '$stars'
        }
    }
])
return res
}
starsActMostMovies().then(function(result){
console.log(result)})

应导致:

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

3 个答案:

答案 0 :(得分:1)

与txt中的 一样长,删除标签并将标签之间的文本大写

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

答案 1 :(得分: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中预定义的。

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