我有一個字串
inputstring = "ini adalah salah satu theme park yang terkenal yaitu __u__n__i__v__e__r__s__a__l __s__t__u__d__i__o , di dalam banyak sekali permainan menarik seperti untuk remaja maupun anak-anak , tempatnya agak panas karena open space , makanan di sini agak mahal jdnya di sarankan untuk makan dulu dan membawa minuman botol untuk bisa di refil ."
我想將下劃線之前的字符替換為大寫,這樣輸出將是
ini adalah salah satu theme park yang terkenal yaitu UNIVERSAL STUDIO , di dalam banyak sekali permainan menarik seperti untuk remaja maupun anak-anak , tempatnya agak panas karena open space , makanan di sini agak mahal jdnya di sarankan untuk makan dulu dan membawa minuman botol untuk bisa di refil .
如果可能的話,我想使用串列理解。
print(''.join('_' char.lower() if char.isupper() else char for char in inputstring).lstrip('_'))
更新
使用 Tim 的答案在單個字串上效果很好,但是當我嘗試放入一個函式并應用于資料框中特定列的所有行時,它似乎不起作用。我可以知道我在這里做錯了什么嗎?
def uppercase(text):
text = re.sub(r'__(\w)', lambda m: m.group(1).upper(), text)
return text
df['review'] = df['review'].apply(lambda x: uppercase(x))
這是我將結果傳輸到 excel 后得到的輸出快照:

uj5u.com熱心網友回復:
我們可以嘗試使用re.sub回呼函式,在其中我們捕獲__后跟一個字母,然后將其大寫。
inputstring = "ini adalah salah satu theme park yang terkenal yaitu __u__n__i__v__e__r__s__a__l __s__t__u__d__i__o , di dalam banyak sekali permainan menarik seperti untuk remaja maupun anak-anak , tempatnya agak panas karena open space , makanan di sini agak mahal jdnya di sarankan untuk makan dulu dan membawa minuman botol untuk bisa di refil ."
output = re.sub(r'__(\w)', lambda m: m.group(1).upper(), inputstring)
print(output)
這列印:
ini adalah salah satu 主題公園 yang terkenal yaitu UNIVERSAL STUDIO , di dalam banyak sekali permainan menarik seperti untuk remaja maupun anak-anak , tempatnya agak panas karena 開放空間 , makanan di sini agak mahal jdnya di sarankan untuk makan dulu dan membawa minuman botol untuk bi迪重新填充。
編輯:
要在 Pandas 資料框列上執行此操作,我們可以使用上述邏輯str.replace:
df["review"] = df["review"].str.replace(r'__(\w)', lambda m: m.group(1).upper(), regex=True)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/488819.html
上一篇:在Java中使用StringBuilder與String
下一篇:列印單個字符的二進制表示
