Python切片操作去除字符串首尾的空格
下面通過實(shí)例代碼給大家分享Python切片操作去除字符串首尾的空格的方法,具體內(nèi)容如下所示:
#利用切片操作,實(shí)現(xiàn)一個trim()函數(shù),去除字符串首尾的空格,注意不要調(diào)用str的strip()方法
def trim(s):
while s[0:1]==' ':
s=s[1:]
while s[(len(s)-1):len(s)]==' ':
s=s[:-1]
return s
s=input('請輸入一個字符串:')
print('去除首尾空格后',trim(s))
知識點(diǎn):
•取一個list或tuple的部分元素,比如取list的前3個元素,對這種經(jīng)常取指定索引范圍的操作,用循環(huán)十分繁瑣, Python提供了切片(Slice)操作符,能大大簡化這種操作。 在很多編程語言中,針對字符串提供了很多各種截取函數(shù)(例如,substring),其實(shí)目的就是對字符串切片。Python沒有針對字符串的截取函數(shù),只需要切片一個操作就可以完成。
•L[0:3]表示取前3個元素, 從索引0開始取,直到索引3為止,但不包括索引3。即索引0,1,2。 如果第一個索引是0,還可以省略:L[:3]。 也可以從索引1開始,取出2個元素出來:L[1:3]。 取倒數(shù)第一個元素 L[-1]。L[-2:]表示取從倒數(shù)第二個元素到最后一個元素。創(chuàng)建一個0-99的數(shù)列:L = list(range(100)),取前10個數(shù):L[:10],取后10個數(shù):L[-10:], 前10個數(shù),每兩個取一個:L[:10:2]。 所有數(shù),每5個取一個: L[::5]。 只寫[:]就可以原樣復(fù)制一個list。 字符串'xxx'也可以看成是一種list,每個元素就是一個字符。因此,字符串也可以用切片操作,只是操作結(jié)果仍是字符串。
PS:下面看下利用切片操作,實(shí)現(xiàn)一個trim()函數(shù),去除字符串首尾的空格,注意不要調(diào)用str的strip()方法:
首先判斷字符串的長度是否為0,如果是,直接返回字符串
第二,循環(huán)判斷字符串的首部是否有空格,如果有,去掉空格,再判斷字符串的長度是否為0,如果是,直接返回字符串
第三,循環(huán)判斷字符串的尾部是否有空格,如果有,去掉空格,再判斷字符串的長度是否為0,如果是,直接返回字符串
最后,返回字符串
# -*- coding: utf-8 -*-
def trim(s):
if 0==len(s):
return s
while ' '==s[0]:
s=s[1:]
if 0==len(s):
return s
while ' '==s[-1]:
s=s[:-1]
if 0==len(s):
return s
return s
測試代碼:
# 測試:
from trim import trim
if trim('hello ') != 'hello':
print('測試失敗!')
elif trim(' hello') != 'hello':
print('測試失敗!')
elif trim(' hello ') != 'hello':
print('測試失敗!')
elif trim(' hello world ') != 'hello world':
print('測試失敗!')
elif trim('') != '':
print('測試失敗!')
elif trim(' ') != '':
print('測試失敗!')
else:
print('測試成功!')
總結(jié)
以上所述是小編給大家介紹的Python切片操作去除字符串首尾的空格 ,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!
相關(guān)文章
Pandas對數(shù)值進(jìn)行分箱操作的4種方法總結(jié)
分箱是一種常見的數(shù)據(jù)預(yù)處理技術(shù)有時也被稱為分桶或離散化,他可用于將連續(xù)數(shù)據(jù)的間隔分組到“箱”或“桶”中。本文將使用python?Pandas庫對數(shù)值進(jìn)行分箱的4種方法,感興趣的可以了解一下2022-05-05
python進(jìn)行圖片相似度對比的兩種實(shí)現(xiàn)方法
Python提供了一些庫和工具可以用于圖片的相似度比對,本文就詳細(xì)的介紹了兩種實(shí)現(xiàn)方法,感知哈希和結(jié)構(gòu)相似性,下面就來介紹一下,感興趣的可以了解一下2023-10-10
Python實(shí)現(xiàn)的從右到左字符串替換方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)的從右到左字符串替換方法,涉及Python字符串遍歷、運(yùn)算、判斷、替換等相關(guān)操作技巧,需要的朋友可以參考下2018-07-07
使用python為mysql實(shí)現(xiàn)restful接口
這篇文章主要介紹了使用python為mysql實(shí)現(xiàn)restful接口的相關(guān)資料,需要的朋友可以參考下2018-01-01
uv介紹以及與anaconda/venv的區(qū)別及說明
uv是Rust開發(fā)的極速Python包管理工具,整合虛擬環(huán)境、依賴解析等功能,替代pip和venv,提升速度與效率,適配純Python項目,Anaconda專注科學(xué)計算的跨語言依賴管理,venv+pip則保持輕量與兼容性2025-07-07

