Python切片操作去除字符串首尾的空格
下面通過(guò)實(shí)例代碼給大家分享Python切片操作去除字符串首尾的空格的方法,具體內(nèi)容如下所示:
#利用切片操作,實(shí)現(xiàn)一個(gè)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('請(qǐng)輸入一個(gè)字符串:')
print('去除首尾空格后',trim(s))
知識(shí)點(diǎn):
•取一個(gè)list或tuple的部分元素,比如取list的前3個(gè)元素,對(duì)這種經(jīng)常取指定索引范圍的操作,用循環(huán)十分繁瑣, Python提供了切片(Slice)操作符,能大大簡(jiǎn)化這種操作。 在很多編程語(yǔ)言中,針對(duì)字符串提供了很多各種截取函數(shù)(例如,substring),其實(shí)目的就是對(duì)字符串切片。Python沒(méi)有針對(duì)字符串的截取函數(shù),只需要切片一個(gè)操作就可以完成。
•L[0:3]表示取前3個(gè)元素, 從索引0開(kāi)始取,直到索引3為止,但不包括索引3。即索引0,1,2。 如果第一個(gè)索引是0,還可以省略:L[:3]。 也可以從索引1開(kāi)始,取出2個(gè)元素出來(lái):L[1:3]。 取倒數(shù)第一個(gè)元素 L[-1]。L[-2:]表示取從倒數(shù)第二個(gè)元素到最后一個(gè)元素。創(chuàng)建一個(gè)0-99的數(shù)列:L = list(range(100)),取前10個(gè)數(shù):L[:10],取后10個(gè)數(shù):L[-10:], 前10個(gè)數(shù),每?jī)蓚€(gè)取一個(gè):L[:10:2]。 所有數(shù),每5個(gè)取一個(gè): L[::5]。 只寫(xiě)[:]就可以原樣復(fù)制一個(gè)list。 字符串'xxx'也可以看成是一種list,每個(gè)元素就是一個(gè)字符。因此,字符串也可以用切片操作,只是操作結(jié)果仍是字符串。
PS:下面看下利用切片操作,實(shí)現(xiàn)一個(gè)trim()函數(shù),去除字符串首尾的空格,注意不要調(diào)用str的strip()方法:
首先判斷字符串的長(zhǎng)度是否為0,如果是,直接返回字符串
第二,循環(huán)判斷字符串的首部是否有空格,如果有,去掉空格,再判斷字符串的長(zhǎng)度是否為0,如果是,直接返回字符串
第三,循環(huán)判斷字符串的尾部是否有空格,如果有,去掉空格,再判斷字符串的長(zhǎng)度是否為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
測(cè)試代碼:
# 測(cè)試:
from trim import trim
if trim('hello ') != 'hello':
print('測(cè)試失敗!')
elif trim(' hello') != 'hello':
print('測(cè)試失敗!')
elif trim(' hello ') != 'hello':
print('測(cè)試失敗!')
elif trim(' hello world ') != 'hello world':
print('測(cè)試失敗!')
elif trim('') != '':
print('測(cè)試失敗!')
elif trim(' ') != '':
print('測(cè)試失敗!')
else:
print('測(cè)試成功!')
總結(jié)
以上所述是小編給大家介紹的Python切片操作去除字符串首尾的空格 ,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
相關(guān)文章
Python實(shí)現(xiàn)批量將word轉(zhuǎn)換成pdf
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)批量將word文檔轉(zhuǎn)換成pdf文件,文中的示例代碼簡(jiǎn)潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-08-08
Python&Matla實(shí)現(xiàn)模擬退火法的示例代碼
模擬退火和蒙特卡洛實(shí)驗(yàn)一樣,本文主要介紹了Python&Matla實(shí)現(xiàn)模擬退火法的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
基于Python編寫(xiě)一個(gè)有趣的年會(huì)抽獎(jiǎng)系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了如何使用Python編寫(xiě)一個(gè)簡(jiǎn)易的抽獎(jiǎng)系統(tǒng),順便幫助大家鞏固一下對(duì)Python語(yǔ)法和框架的理解,感興趣的小伙伴可以了解下2023-12-12
Pandas實(shí)現(xiàn)dataframe和np.array的相互轉(zhuǎn)換
今天小編就為大家分享一篇Pandas實(shí)現(xiàn)dataframe和np.array的相互轉(zhuǎn)換,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11
使用python實(shí)現(xiàn)tcp自動(dòng)重連
下面小編就為大家?guī)?lái)一篇使用python實(shí)現(xiàn)tcp自動(dòng)重連實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。2017-07-07
Python3.7將普通圖片(png)轉(zhuǎn)換為SVG圖片格式(網(wǎng)站logo圖標(biāo))動(dòng)起來(lái)
這篇文章主要介紹了Python3.7將普通圖片(png)轉(zhuǎn)換為SVG圖片格式并且讓你的網(wǎng)站Logo(圖標(biāo))從此”動(dòng)”起來(lái),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04

