
嘻道奇闻
- 文章199742
- 阅读14625734
Python字符串操作指南:从入门到实战应用
鍝庯紝浣犳槸涓嶆槸缁忓父閬囧埌杩欑鎯呭喌锛熺敤鎴疯緭鍏ョ殑鎵嬫満鍙峰甫鐫€绌烘牸銆佷粠鏁版嵁搴撴嬁鍒扮殑鍦板潃娣风潃濂囨€鍙枫€佺埇铏姄鐨勬枃鏈噷钘忕潃涔辩爜... 杩欐椂鍊欒鏄笉浼氱帺杞瓧绗︿覆鏂规硶锛屽垎鍒嗛挓鎯崇牳閿洏瀵瑰惂锛熺ǔ浣忥紒浠婂ぉ甯︿綘瑙i攣瀛楃涓插鐞嗙殑姝g‘濮垮娍锛屼粠鍩虹鎿嶄綔鍒板疄鎴橀獨鎿嶄綔涓€缃戞墦灏斤紒
鈥?strong>鈥嬬涓€鍏筹細璁よ瘑浣犵殑姝﹀櫒搴撯€?/strong>鈥?br/>
Q锛氬瓧绗︿覆鍒板簳鏄粈涔堢帺鎰忥紵
A锛氱畝鍗曡灏辨槸涓€涓插瓧绗︾殑闆嗗悎锛屽氨鍍?abc123锛丂#"杩欑锛屽湪Python閲岀敤鍗曞紩鍙锋垨鍙屽紩鍙峰寘鐫€銆傞噸鐐硅浣忓畠鏄€?strong>鈥嬩笉鍙彉鈥?/strong>鈥嬬殑鈥斺€斿氨鍍忓埢鍦ㄧ煶澶翠笂鐨勫瓧锛岃淇敼鍙兘閲嶆柊鍒诲潡鏂扮煶澶淬€?/p>
Q锛氫负浠€涔堣鏈夎繖涔堝瀛楃涓叉柟娉曪紵
A锛氫妇涓牀瀛愶紝浣犺鍦?000鏉$敤鎴风暀瑷€閲屾壘鎵嬫満鍙凤紝鎬讳笉鑳借倝鐪肩瓫鏌ュ惂锛熻繖鏃跺€欌€?strong>鈥?find()/.replace()鈥?/strong>鈥嬪氨鏄綘鐨勭數瀛愭樉寰暅銆傚啀姣斿澶勭悊Excel瀵煎嚭鐨勬暟鎹紝娌♀€?strong>鈥?split()/.join()鈥?/strong>鈥嬩綘浼氳閫楀彿鍒嗗彿鎶樼(鐤殑銆?/p>
鈥?strong>鈥嬬浜屽叧锛氱敓瀛樺繀澶囧叚浠跺鈥?/strong>鈥?/p>
- 鈥?strong>鈥嬪垏鐗囨搷浣溾€?/strong>鈥嬶細姣斿壀鍒€杩橀攱鍒?/li>
python澶嶅埗text = "13012345678" print(text[3:7]) # 鎴彇1234 print(text[-4:]) # 鎴彇鍚庡洓浣?678
- 鈥?strong>鈥媠plit()鑺卞紡鍒囧壊鈥?/strong>鈥?/li>
python澶嶅埗csv_data = "寮犱笁;鐢?28宀亅鏉庡洓;濂?35宀? # 鍏堟寜绔栫嚎鎷嗭紝鍐嶆寜鍒嗗彿鎷?/span> print([item.split(";") for item in csv_data.split("|")])
- 鈥?strong>鈥媟eplace()鑺卞紡鏇挎崲鈥?/strong>鈥?br/> 閬囧埌鐏槦鏂囦篃涓嶆€曪細
python澶嶅埗text = "鈩欚潟潟ヰ潟欚潟狆潟熺湡饾樉饾櫎饾櫎饾櫋锛? print(text.replace("饾暘", "y").replace("饾樉", "C")) # 杈撳嚭Python鐪烠ool锛?/span>
鈥?strong>鈥嬬涓夊叧锛氶伩鍧戞寚鍗椻€?/strong>鈥?br/> Q锛氫负浠€涔堟垜澶勭悊涓枃鑰佹姤缂栫爜閿欒锛?br/> A锛氳浣忚繖涓繚鍛戒笁杩烇細
- 鏂囦欢寮€澶村姞鈥?strong>鈥? -- coding: utf-8 --鈥?/strong>鈥?/li>
- 淇濆瓨鏂囦欢鏃堕€塙TF-8缂栫爜
- 瀛楃涓插墠鍔犫€?strong>鈥媢鈥?/strong>鈥嬪0鏄庯紙Python2闇€瑕侊級
Q锛氬鐞?0涓囪鐨勬棩蹇楁枃浠朵細涓嶄細鍗℃锛?br/> A锛氳瘯璇曠敓鎴愬櫒杩欎釜澶栨寕锛?/p>
python澶嶅埗# 鏅€氬仛娉曪細鐬棿鍚冨厜鍐呭瓨 with open("big.log") as f: all_lines = f.readlines() # 楂樼骇鍋氭硶锛氬儚娴佹按绾夸竴鏍峰鐞?/span> def process_file(): with open("big.log") as f: for line in f: yield line.strip().replace("error", "璀﹀憡")
鈥?strong>鈥嬬鍥涘叧锛氬疄鎴樻紨缁冨満鈥?/strong>鈥?br/> 鈥?strong>鈥嬪満鏅?锛氭墜鏈哄彿鑴辨晱鈥?/strong>鈥?/p>
python澶嶅埗phone = "13800138000" masked = phone[:3] + "****" + phone[-4:] print(masked) # 138****8000
鈥?strong>鈥嬪満鏅?锛氬湴鍧€娓呮礂鈥?/strong>鈥?/p>
python澶嶅埗address = "鍖椾含甯?鏈濋槼鍖?,寤哄浗璺?8鍙凤紙鍦伴搧绔橝鍙o級" # 鍘绘爣鐐光啋鍘荤┖鏍尖啋鍘婚噸澶嶅垎闅旂 clean = address.translate(str.maketrans("锛岋紙锛?, " ")).replace(" ", "").replace(",,", ",") print(clean) # 鍖椾含甯傛湞闃冲尯寤哄浗璺?8鍙峰湴閾佺珯A鍙?/span>
鈥?strong>鈥嬪満鏅?锛氬瘑鐮佸己搴︽娴嬧€?/strong>鈥?/p>
python澶嶅埗def check_pwd(pwd): has_upper = any(c.isupper() for c in pwd) has_lower = any(c.islower() for c in pwd) has_digit = any(c.isdigit() for c in pwd) return len(pwd)>=8 and has_upper and has_lower and has_digit
鈥?strong>鈥嬪皬缂栫鎴跨粡楠屸€?/strong>鈥?br/> 甯︽柊浜烘椂鍙戠幇涓湁瓒g幇璞★細80%鐨勫瓧绗︿覆闂鍏跺疄鐢ㄤ笉濂解€?strong>鈥?split()鈥?/strong>鈥嬪拰鍒囩墖灏辫兘瑙e喅銆傛湁娆″疄涔犵敓鐢ㄦ鍒欒〃杈惧紡澶勭悊绠€鍗曞垎闅旓紝鎴戠湅鐫€閭e爢[\s\t]+灏辨兂绗戯紝鍏跺疄鐢ㄢ€?strong>鈥媠plit(None, 3)鈥?/strong>鈥嬭繖绉嶅啓娉曞氨鑳介檺瀹氭媶鍒嗘鏁般€?/p>
杩樻湁涓喎鐭ヨ瘑锛氣€?strong>鈥嬪瓧绗︿覆灞呯劧鑳芥瘮澶у皬鈥?/strong>鈥嬶紒姣斿"apple"<"banana"浼氳繑鍥濼rue锛屽洜涓烘寜瀛楃閫愪釜姣旇緝ASCII鐮併€傝繖涓壒鎬у湪鎺掑簭鏂囦欢鍚嶆椂鐗瑰埆濂界敤锛屾瘮寰堝绗笁鏂瑰簱杩樺揩銆?/p>
鏈€鍚庤涓娉暀璁€斺€斿崈涓囧埆鍦ㄥ惊鐜噷鐢ㄢ€?strong>鈥?=鈥?/strong>鈥嬫嫾鎺ュ瓧绗︿覆锛佹湁娆℃垜鍋锋噿杩欎箞鍐欙紝澶勭悊5涓囨潯鏁版嵁鑺变簡3鍒嗛挓锛屾敼鐢ㄢ€?strong>鈥嬪垪琛?join()鈥?/strong>鈥嬪悗鍙0.3绉掋€傝浣忥紝瀛楃涓叉搷浣滃氨鍍忕倰鑿滐紝椋熸潗棰勫鐞嗗ソ浜嗭紝鏈€鍚庝笅閿呮墠蹇紒