Python小練習:處理字符串

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

後續如果有更多字符串處理的案例,還會繼續補充完整。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章