我想把代码放在括号里

时间:2016-10-05 01:31:26

标签: python

我想将AEM放入括号中,以便文本看起来像:Agnico Eagle Mines Limited(AEM)

text = "Agnico Eagle Mines Limited AEM"
def add_brackets(test):
     for word in test:
         if word.isupper():
             word = "(" + word + ")"
     print(test)

print(add_brackets(text))

代码有什么问题?我收到原文。

2 个答案:

答案 0 :(得分:1)

两件事,1你是每个角色检查,而不是每个字。 2你没有修改text你只是设置word而没有做任何事情。

text = "Agnico Eagle Mines Limited AEM"


def add_brackets(test):
    outstr = ""
    for word in test.split(" "):
        if word.isupper():
            outstr += " (" + word + ")"
        else:
            outstr += " " + word
    return outstr.strip()


print(add_brackets(text))

编辑:发烧友

text = "Agnico Eagle Mines Limited AEM"


def add_brackets(test):
    return " ".join(["({})".format(word) if word.isupper() else word for word in test.split(" ")])

print(add_brackets(text))

答案 1 :(得分:0)

这对于正则表达式替换来说非常简洁:

FIRAuth.auth()?.createUserWithEmail(email!, password: password!, completion: { (user: FIRUser?, error) in
   if error == nil {
       //registration successful
   }else{
       //registration failure
   }
})

这会在一起查找多个大写字符,两边都有单词边界(如空格),然后用相同的文本(>>> import re >>> text = "Agnico Eagle Mines Limited AEM" >>> re.sub(r'\b([A-Z]+)\b', r'(\1)', text) 'Agnico Eagle Mines Limited (AEM)' )替换匹配的组,并添加括号。

在一个功能中:

\1