盤點(diǎn)一個(gè)字符串處理問題(英文文本大小寫處理)
回復(fù)“資源”即可獲贈(zèng)Python學(xué)習(xí)資料
大家好,我是皮皮。
一、前言
前幾天在Python最強(qiáng)王者群有個(gè)叫【老松鼠】的粉絲問了一道關(guān)于字符串處理問題,如下圖所示。
原文本如下所示:
輸入一個(gè)字符串,比如?"hello.?my?name?is?Joe.?what?is?your?name?"
要求返回一個(gè)字符串副本,比如?"Hello.?My?name?is?Joe.?What?is?your?name?"
二、實(shí)現(xiàn)過程
這里【冷喵】給了一個(gè)思路:按標(biāo)點(diǎn)符號(hào) 劃分句子 每個(gè)句子首字母轉(zhuǎn)大寫。這里【dcpeng】給了一份代碼,如下圖所示:
#?coding:utf-8
#?@Time?:?2022/5/4?10:46
#?@Author:?皮皮
#?@公眾號(hào):?Python共享之家
#?@website?:?http://pdcfighting.com/
#?@File?:?字符串.py
#?@Software:?PyCharm
text?=?"hello.my?name?is?Joe.what?is?your?name?"
print(".".join([i[:1].upper()?+?i[1:]?for?i?in?text.split(".")]))
這個(gè)代碼親測(cè)好使,運(yùn)行之后結(jié)果如下。

【瑜亮老師】后來也給了一份代碼,如下所示:
s?=?'i?love?Python.i?love?Python!i?love?Python,and?do?you?love?C++?'
st?=?s.replace('.',?'.\n').replace('!',?'!\n').replace('?',?'?\n')
result?=?''.join(k[0].upper()+k[1:]?for?k?in?st.split('\n')[:-1])
print(result)
思路是一樣的,而且這里還考慮到一般英語(yǔ)中的語(yǔ)句結(jié)束是句號(hào),感嘆號(hào),問號(hào)這三種,健壯性更強(qiáng)了一些。

三、總結(jié)
大家好,我是皮皮。這篇文章主要盤點(diǎn)一個(gè)字符串處理問題(英文文本大小寫處理),文中給出了兩個(gè)方法,如果有其他方法,也歡迎大家積極嘗試,一起學(xué)習(xí),記得分享給我哦。
最后感謝粉絲【老松鼠】提問,感謝【冷喵】、【逸】、【dcpeng】、【瑜亮老師】和【月神】在運(yùn)行過程中給出的思路和代碼建議,感謝粉絲【馮誠(chéng)】等人參與學(xué)習(xí)交流。
小伙伴們,快快用實(shí)踐一下吧!如果在學(xué)習(xí)過程中,有遇到任何問題,歡迎加我好友,我拉你進(jìn)Python學(xué)習(xí)交流群共同探討學(xué)習(xí)。
-------------------?End?-------------------
往期精彩文章推薦:

歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Python學(xué)習(xí)群請(qǐng)?jiān)诤笈_(tái)回復(fù)【入群】
萬(wàn)水千山總是情,點(diǎn)個(gè)【在看】行不行
