今天在刷bite 105. slice and dice時遇到的乙個問題,判斷乙個字串是否以'.'或者'!'結尾,如果以這兩個字元結尾,則去除這兩個字元。
自己寫的函式:
results =
text_list = text.split('\n')
print(text_list)
for line in text_list:
if line:
new_line = line.strip()
if new_line[0] in ascii_lowercase:
line_list = new_line.split(' ')
if line_list[-1][-1] != '.' and line_list[-1][-1] != '!':
else:
return results
可以看到,在判斷和去除這兩個字元的時候,用了比較笨的方法,就是直接取字串的[0:-1],後來查資料發現,python字串中提供了rstrip()方法可以直接實現該功能,修改後的**如下:
results =
for line in text.strip().split('\n'):
line = line.strip()
if line[0] not in ascii_lowercase:
continue
words = line.split()
last_word_stripped = words[-1].rstrip('!.')
return results
檢視了該方法的實現:
def rstrip(self, *args, **kwargs): # real signature unknown
"""return a copy of the string with trailing whitespace removed.
if chars is given and not none, remove characters in chars instead.
"""pass
發現如果沒有給該方法傳引數,該方法會預設去掉字串結尾的空格,如果傳參了,就會去掉字串中以傳參結尾的。
其實該練習中,還有ascii_lowercase值得注意,可以用來判斷是否為小寫字母!!!
python中的字串
方法1 用字串的join方法 a a b c d content content join a print content 方法2 用字串的替換佔位符替換 a a b c d content content s s s s tuple a print content 我們可以通過索引來提取想要獲取的...
python中的字串
b nihao hahah xixi 輸出 nihao nhahah nxixi n 原字串 big r this hhaha big輸出 this nhhaha 還原為unicode字串 hello u hello u0020world hello輸出 hello world 字串是不可以改變的 ...
python中的字串
字串連線操作 字串複製操作 字串索引操作,通過索引訪問指定位置的字元,索引從0開始 字串取片操作 完整格式 開始索引 結束索引 間隔值 結束索引 從開頭擷取到結束索引之前 開始索引 從開始索引擷取到字串的最後 開始索引 結束索引 從開始索引擷取到結束索引之前 擷取所有字串 開始索引 結束索引 間隔值...