python字元串
python字元串
字元串是若干字元的序列。
字元串是不可變的。
創建一個字元串:
>>> water = water water EveryWhere>>> waterwater water EveryWhere
[TOC]
索引 切片
類似於列表,可以對字元串進行索引和切片(截取)。
字元串中,第1個字母的索引是0,第2個字母的索引是1……
也可以使用負索引,最後1個字母的索引是-1,倒數2個字母的索引時-2……
>>> waterwater water EveryWhere>>> water[0]w>>> water[-1]e>>> water[4:]r water EveryWhere>>> water[:9]water wat>>> water[4:9]r wat
對於切片操作,包含第一個字母,而不包含最後一個字母。
字元串是不可變的,雖然我們可以對變數重新賦值,但不可以修改字元串:
>>> waterwater water EveryWhere>>> water[2] = b # 修改字元串Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: str object does not support item assignment>>> water = abc # 對變數water重新賦值>>> waterabc
遍歷字元串
可以使用while循環遍歷字元串:
>>> index = 0>>> while index < len(water):... print (%2d: %s % (index, water[index]) )... index = index + 1... 0: w 1: a 2: t 3: e 4: r 5: 6: w 7: a 8: t 9: e10: r11: 12: E13: v14: e15: r16: y17: W18: h19: e20: r21: e
其中,print()
函數中%2d
表示佔兩個字元寬度的整數。len()
函數返回字元串中字元的個數。
這裡例子中通過變數index
的自增,通過string[index]
的形式遍歷字元串。
也可以使用for循環遍歷字元串:
>>> waterwater water EveryWhere>>> for letter in water:... print (letter)... waterwaterEveryWhere
in
使用in
判斷字元串是否在某個字元串中:
>>> waterwater water EveryWhere>>> ate in waterTrue
"""
有的時候需要輸入多行字元串,這個時候就需要使用"""
了:
>>> water = """... water... water... EveryWhere... """>>> water
water
water
EveryWhere
>>> print (water)waterwaterEveryWhere>>>
操作字元串的一些函數
使用S.lower()
將字元串S
中的所有字母轉換為小寫字母,並且作為新字元串返回。
>>> waterwater water EveryWhere>>> water_lower = water.lower()>>> water_lowerwater water everywhere>>> waterwater water EveryWhere
使用S.upper()
將字元串S
中所有字母轉換為大寫字母,並且作為新字元串返回。
>>> waterwater water EveryWhere>>> water.upper()WATER WATER EVERYWHERE
S.count(sub, start, end)
返回字元串S
的切片(起於start
,終於end
(不包括),且這兩個參數可選)中字元串sub
的個數。
>>> waterwater water EveryWhere>>> water.count (er)4>>> water.count (er, 5)3>>> water.count (er, 5, 8)0
S.count(sub, start, end)
返回字元串S
的切片(其餘start
,終於end
(不包括),且這兩個參數可選)中第一次出現字元串sub
的正索引。如果沒有,返回-1.
>>> waterwater water EveryWhere>>> water.find(er)3>>> water.find(er, 4)9>>> water.find(er, 4, 7)-1
S.replace (old, new, count)
,將字元串S
中的字元串old
替換為字元串new
,並作為新字元串返回。參數count
可選,如果它被指定,則替換不會超過count
次。
>>> waterwater water EveryWhere>>> water.replace (wat, taw)tawer tawer EveryWhere
S.lstrip(chars)
刪除字元串S
左側的字元串chars
或者空白字元(chars
未指定),並作為新字元串返回。
S.rstrip(chars)
刪除字元串S
右側的字元串chars
或者空白字元(chars
未指定),並作為新字元串返回。
S.strip(chars)
在字元串S
上執行S.lstrip(chars)
和S.rstrip(chars)
。
>>> monkey diu diu diu diu >>> monkey.lstrip()diu diu diu diu >>> monkey.rstrip() diu diu diu diu>>> monkey.strip()diu diu diu diu
推薦閱讀:
※基於unittest集成你的selenium2測試
※windows中用python執行commands.getstatusoutput()為什麼出錯?
※python安裝pandas包快要崩潰了?
※Python pygame如何安裝?
※Python的靜態方法和類成員方法