python中字串操作 擷取,查詢,替換

2021-08-14 14:12:04 字數 2029 閱讀 5170

python中,對字串的操作是最常見的,python對字串操作有自己特殊的處理方式。

字串的擷取

python中對於字串的索引是比較特別的,來感受一下:

s = '123456789'

#擷取中間的兩個字元

s[1:3]

#輸出為:'23'

#從某個位置到結尾

s[4:]

#輸出為:'56789'

#字串的順序不僅僅可以順著數,也可以逆著數

s[-8:7]

#輸出為'234567',這個在擷取檔名稱時是比較有用的,比如用s[-3:],可以得到最後三位的字串。

字串的查詢

查詢當前字串中,是否包含另外的字串。

我們可以使用 index,或者find來進行查詢,find和index的區別是,如果使用的是index的話,字串查詢中,如果找不到相應的字串,會丟擲乙個valueerror的異常。

s = '123456789'

s.index('23')

#輸出:1

s.find('23')

#輸出:1

s.index('s')

#輸出traceback (most recent call last):

file "", line 1, in valueerror: substring not found

s.find('s')

#輸出 -1

分割字串

總是有很多特殊字元,可以用來分割字串。資料庫中經常把一組**放在乙個欄位中,比如

需要把不定長的**都取出來,就需要同特殊字元把字串分開,得到不同的**。

分割的命令為split

#結果為乙個數值:['img1.jpg', 'img2.jpg', 'img3.jpg']python 支援格式化字串的輸出 。儘管這樣可能會用到非常複雜的表示式,但最基本的用法是將乙個值插入到乙個有字串格式符 %s 的字串中。

在 python 中,字串格式化使用與 c 中 sprintf 函式一樣的語法。

#!/usr/bin/python

print "my name is %s and weight is %d kg!" % ('zara', 21)

#以上例項輸出結果: my name is zara and weight is 21 kg!

python字串格式化符號:

符 號描述

%c格式化字元及其ascii碼

%s格式化字串

%d格式化整數

%u格式化無符號整型

%o格式化無符號八進位制數

%x格式化無符號十六進製制數

%x格式化無符號十六進製制數(大寫)

%f格式化浮點數字,可指定小數點後的精度

%e用科學計數法格式化浮點數

%e作用同%e,用科學計數法格式化浮點數

%g根據值的大小決定使用%f活%e

%g作用同%g,根據值的大小決定使用%f活%e

%p用十六進製制數格式化變數的位址

在python中template可以將字串的格式固定下來,重複利用。

template屬於string中的乙個類,要使用他的話可以用以下方式呼叫:

from string import template
我們使用以下**:

>>> s = template('there  $ is  $')

>>> print s.substitute(moneytype = 'dollar',money=12)

執行結果顯示「there dollar is 12」

這樣我們就可以替換其中的資料了。

更多入門教程可以參考:[ (

python字串擷取

a1xy72ce03eb0710 for val in handid print val a1xy72ce03eb0710 print str val 1 2 擷取第一位 下標從0開始 到 倒數第二位之前 a1xy72ce03eb0710 參考str 0123456789 print str 0 3...

python字串擷取

str 0123456789 print str 0 3 擷取第一位到第三位的字元 012print str 擷取字串的全部字元 0123456789 print str 6 擷取第七個字元到結尾 6789 print str 3 擷取從頭開始到倒數第三個字元之前 0123456 print str...

Python 字串擷取

python中常見的字串擷取操作,如果熟悉之後對寫 很有幫助,因此作如下記錄 python程式 str 123456789abcdefg strjoin1 str 3 str 7 8 str 6 正序擷取 取0 3位前,取7 8位前,取7位及以後 strjoin2 str 2 str 7 逆序擷取 ...