Python小練習:處理字符串
作者:凱魯嘎吉 - 博客園 http://www.cnblogs.com/kailugaji/
介紹3種處理字符串的方式:1. 將英語名詞單數轉化爲複數形式(僅適用於一般形式),2. 將字符串(帶有下換線_)轉化爲駝峯化形式,3. 左對齊右對齊。
1. word_test.py
1 # -*- coding: utf-8 -*- 2 # Author:凱魯嘎吉 Coral Gajic 3 # https://www.cnblogs.com/kailugaji/ 4 # Python小練習:處理字符串 5 6 # 名詞的複數形式 7 # 這是一個Python函數,用於將單詞轉換爲其不同的形式。它接受一個單詞作爲參數,並返回該單詞的不同形式。 8 # 該函數首先檢查單詞是否以“y”結尾,如果是,則返回單詞的前半部分,即“ies”。 9 # 如果單詞以“x”結尾,則返回單詞的後半部分,即“es”。 10 # 如果單詞以“an”結尾,則返回單詞的前半部分,即“en”。 11 # 否則,返回單詞本身,並在單詞後添加“s”。 12 def _plural(word): 13 if word.endswith('y'): 14 return word[:-1] + 'ies' 15 elif word[-1] in 'sx' or word[-2:] in ['sh', 'ch']: 16 return word + 'es' 17 elif word.endswith('an'): 18 return word[:-2] + 'en' 19 else: 20 return word + 's' 21 22 # 這段代碼定義了一個名爲_under_score_to_camel的函數 23 # 它接受一個參數word,並返回該字符串的駝峯化形式。 24 # 該函數使用了split方法將字符串按照_分割成多個部分,並將每個部分轉換成大寫形式 25 # 然後使用join方法將所有部分連接起來,形成駝峯化的形式。 26 def _under_score_to_camel(word): 27 parts = word.split('_') 28 parts = [p[0].upper() + p[1:] for p in parts] 29 return ''.join(parts) 30 31 # 字符串對齊 32 # 使用了 rjust() 方法來對鍵值對進行右對齊 33 # 使用了 format() 方法來對鍵值對進行左對齊 34 # 使用了 round() 函數來對結果進行四捨五入 35 def format_for_process(params): 36 new_params = [] 37 for k, v in params.items(): 38 k = k.rjust(18) # 右對齊 39 # rjust() 方法是向字符串的左側填充指定字符,從而達到右對齊文本的目的。 40 v = '{:<12}'.format(round(v, 6))[:12] # 左對齊,並且保留6位小數 41 new_params.append([k, v]) 42 return new_params 43 44 word = 'agent' 45 print(word, '->', _plural(word)) # 輸出:agents 46 word = 'policy' 47 print(word, '->', _plural(word)) # 輸出:policies 48 word = 'lynx' 49 print(word, '->', _plural(word)) # 輸出:lynxes 50 word = 'woman' 51 print(word, '->', _plural(word)) # 輸出:women 52 print('-----------------------------------') 53 word = 'book_story' 54 print(word, '->', _under_score_to_camel(word)) # 輸出:BookStory 55 word = 'activity' 56 print(word, '->', _under_score_to_camel(word)) # 輸出:Activity 57 word = 'lynx_woman_hello' 58 print(word, '->', _under_score_to_camel(word)) # 輸出:LynxWomanHello 59 print('-----------------------------------') 60 params={"name": 127.1234567587, "height": 185.123456789, "score": 10.123456852} 61 new_params = format_for_process(params) 62 print(new_params)
2. 結果
D:\ProgramData\Anaconda3\python.exe "D:/Python code/2023.3 exercise/time/word_test.py" agent -> agents policy -> policies lynx -> lynxes woman -> women ----------------------------------- book_story -> BookStory activity -> Activity lynx_woman_hello -> LynxWomanHello ----------------------------------- [[' name', '127.123457 '], [' height', '185.123457 '], [' score', '10.123457 ']] Process finished with exit code 0
後續如果有更多字符串處理的案例,還會繼續補充完整。