【发布时间】:2015-11-15 09:22:22
【问题描述】:
我知道这个问题在不同版本中被问过很多次,但我没有找到任何对我有帮助的东西。
我有一个单词列表:
arr = ["id",...]
我有几个字符串:
str = "my_id"
str1 = "Id_number"
str2 = "my_id_rocks"
str3 = "my_idea"
我试图在字符串中找到单词“id”并转为大写。但如果id 是字符串中某个单词的一部分,则什么也不做。应用功能后的含义我会得到:
str = "my_ID"
str1 = "ID_number"
str2 = "my_ID_rocks"
str3 = "my_idea"
我不能对字符串做任何假设,有些字母可以是大写,有些可以是小写。
到目前为止,这就是我所拥有的,但这也将idea => IDea 大写,这是我不想要的:
def words_to_upper(str):
words = ["id"]
for word in words:
if word in str.lower():
replace_word = re.compile(re.escape(word), re.IGNORECASE)
str = replace_word.sub(word.upper(), str)
break
return str
谢谢。
【问题讨论】:
-
@Delgan,为什么要删除它?我需要把这个词大写。
-
@Delgan,对不起我的错误,我当然需要将整个单词大写。我试图在字符串中找到单词“id”并转为大写。但如果“id”是单词的一部分,则什么也不做。
-
好吧抱歉,我误解了你的问题。
标签: python regex string python-2.7