- 1、Python中字符串常用操作有哪些
- 2、Python 正則表達式匹配兩個字符之間的字符
- 3、Python字符串是什麼,如何使用?
- 4、Python中中文字符串怎麼處理?
- 5、請教,這個怎麼用python找出2個字符串的不同,按差異順序輸出?
- 6、python之字符串內置函數
字符串是 Python
中常用的數據類型,我們可以使用引號(‘或”)來創建字符串,對字符串進行使用和操作,需要用到特定的函數,以下是常用的Python字符串操作方法:
1. capitalize()
作用:capitalize() 主要是用來實現字符串首字母大寫,其他字母小寫的功能。
實例:
1
2str1 = “oldboy”
print(str1.capitalize())
輸出結果:Oldboy
2. swapcase()
作用:swapcase() 主要是用來實現字符串大小寫反轉。
實例:
1
2str1 = ” Oldboy”
print(str1.swapcase())
輸出結果:oLDBOY
3. title()
作用:title() 主要是用來實現字符串非字母隔開的部分,首字母大寫,其餘字母小寫。
實例:
1
2str1 = “Old boy edu com”
print(str1.title())
輸出結果:Old Boy Edu Com
4. upper()
作用:upper() 主要是用來實現字符串所有字母全部大寫。
實例:
1
2str1 = “Oldboyedu”
print(str1.upper())
輸出結果:OLDBOYEDU
5. lower()
作用:lower() 主要是用來實現字符串所有字母全部小寫。
實例:
1
2str1 = “oLDBOYEDU”
print(str1.lower())
輸出結果:oldboyedu
6. center()
作用:center() 主要是用來實現字符串內容居中,填充物默認為空。
實例:
1
2
3str1 = “Oldboyedu”
print(str1.center(15))
print(str1.center(15,”*”))
輸出結果:
Oldboyedu
***Oldboyedu***
7. find()
作用:find() 主要作用是通過元素找索引,可以整體找,可以切片,找不到則返回-1。
實例:
1
2
3str1 = “Oldboyedu”
print(str1.find(‘b’))
print(str1.find(‘A’))
輸出結果:3 -1
8. index()
作用:index() 主要作用是通過元素找索引,可以整體找,可以切片,找不到會報錯。
實例:
1
2
3str1 = ” Oldboyedu “
print(str1.index(“b”))
print(str1.index(“A”))
輸出結果:
Traceback (most recent call last):
File “”, line 1, in
ValueError: substring not found
9. startswith(obj)
作用:startswith(obj) 主要作用是檢查字符串是否是以 obj 開頭,是則返回 True,否則返回 False。
實例:
1
2str1 = “Oldboyedu”
print(str1.startswith(“O”))
輸出結果:True
10. endswith(obj)
作用:endswith(obj) 主要作用是檢查字符串是否是以 obj 開頭,是則返回 True,否則返回 False。
實例:
1
2str1 = ” Oldboyedu “
print(str1.endswith(“edu”))
輸出結果:True
11. strip()
作用:strip() 主要作用是去除字符串前後兩端的空格或其他字符、換行符、tab鍵等。
實例:
1
2
3
4str1 = “***Oldboy***”
print(str1.strip(“*”)) #去除兩邊的*
print(str1.lstrip(“*”)) #去除左邊的*
print(str1.rstrip(“*”)) #去除右邊的*
輸出結果:
Oldboy
Oldboy***
***Oldboy
12. replace(oldstr, newstr)
作用:replace(oldstr, newstr)主要作用是替換字符串。
實例:
1
2str1 = “Oldboyedu”
print(str1.replace(“boy”,”man”))
輸出結果:Oldmanedu
13. isalpha()
作用:isalpha()主要作用是要判斷字符串是否只由字母組成,是返回Ture,否返回False。
實例:
1
2
3
4str1 = “Oldboyedu”
str2 = 「Old boy edu」
print(str1.isalpha())
print(str2.isalpha())
輸出結果:True False
14. isdigit()
作用:isdigit()主要作用是判斷字符串是否只由數字組成,是返回Ture,否返回False。
實例:
1
2
3
4str1 = “Oldboyedu”
str2 = 「520」
print(str1.isdigit())
print(str2.isdigit())
輸出結果:False True
15. format()
作用:format()主要作用是格式化字符串。
方式一:按位置傳參
1
2str1 = ‘我叫{},今年{}歲’.format(‘oldboy’,30)
print(str1)
輸出結果:我叫oldboy,今年30歲
方式二:按索引傳參
1
2str1 = ‘我叫{0},今年{1}歲’.format(‘oldboy’,30)
print(str1)
輸出結果:我叫oldboy,今年30歲
方式三:按key傳參
1
2str1 = ‘我叫{name},今年{age}歲’.format(age=30,name=’oldboy’)
print(str1)
輸出結果:我叫oldboy,今年30歲
16. count()
作用:count()主要作用是統計元素在字符串出現的次數。
1
2str1 = “oldboyedu”
print(str1.count(『o』)) #統計字符o在字符串中出現的次數
數據結果:2
1、打開JUPYTER NOTEBOOK,新建一個空白的PY文檔。
2、import re首先必須要做的是引入regular expression。
3、a = re.compile(r’ ‘)a.sub(r’ ‘, ‘my name is Peter.’)可以定義兩個空格的情況下變成一個空格。
4、也可以定義多個重複單詞的時候,變成一個。
5、用+就可以代替一個或者多個的意思。
6、\s表示空格,可以定義兩個或者兩個以上就變成一個。
7、c = re.compile(r’\s{2,}’),c.sub(‘ ‘, ‘My name is Peter.’),後續只能直接輸入改成的字符。
字符串的表示
字符串可以被成對的單引號(single quote)或雙引號(double quotes)包圍起來,這兩者的作用是一樣的:
字符串中當然也可以包含中文:
一些情況下,選擇其中一個會比另外一個更好,比如字符串本身就存在引號:
如果字符串中本身就包含單引號,我們再用單引號包圍字符串會怎麼樣呢?做個實驗:
Python解釋器提示我們出錯了。因為Python解釋器會把挨着的單引號匹配起來,所以它會認為”‘Hi, I'”是一個字符串,後面的”m Li Lei”Python解釋器則無法解釋。
除了混用單雙引號,還可以使用用轉義字符3應對這種情況。反斜杠(back slash ”)用來對一些本來有特殊意義字符進行轉義:
字符串還可以跨越多行,其中一個方式就是用三個連續的單引號(同樣,三個連續的雙引號也一樣)。
在單(雙)引號前加入一個反斜杠,Python解釋器就不會把這個它認為是字符串結束的標誌,而認為它就是普通的字符。在一個字符串中,如果同時存在單引號和雙引號,那麼使用反斜杠來轉移單、雙引號就是必須的了。
字符串的簡單操作
我們也可以對字符串進行一些操作。比如使用加號把字符串拼接起來:
更多關於Python的基礎性知識可以看下這個網頁的視頻教程,Python常見的數據類型及使用方法掌握,希望我的回答能幫到你。
如果處理的字符串中出現中文表示的字符,要想不出錯,就得轉成unicode編碼了。具體的方法有:
1、decode(),將其他邊編碼的字符串轉換成unicode編碼,如str1.decode(‘gb2312’),表示將gb2312編碼的字符串str1轉換成unicode編碼;
2、encode(),將unicode編碼轉換成其他編碼的字符串,如str2.encode(‘gb2312’),表示將unicode編碼的字符串str2轉換成gb2312編碼;
3、unicode(),同decode(),將其他編碼的字符串轉換成unicode編碼,如unicode(str3, ‘gb2312’),表示將gb2312編碼的字符串str3轉換成unicode編碼。
轉碼的時候一定要先搞明白字符串str是什麼編碼,然後decode成unicode,最後再encode成其他編碼。
另外,對一個unicode編碼的字符串在進行解碼會出錯,所以在編碼未知的情況下要先判斷其編碼方式是否為unicode,可以用isinstance(str, unicode)。
不僅是中文,以後處理含非ascii編碼的字符串時,都可以遵循以下步驟:
1、確定源字符的編碼格式,假設是utf8;
2、使用unicode()或decode()轉換成unicode編碼,如str1.decode(‘utf8’),或者unicode(str1, ‘utf8’);
3、把處理後字符串用encode()編碼成指定格式。
def find(a, b):
list1 = []
lena = len(a)
lenb = len(b)
n = 0
for i in range(lena):
for j in range(n, lenb):
if a[i] == b[j]:
n += 1
break
if a[i] != b[j]:
list1.append(b[j])
n = j + 1
continue
print(list1)
seq1 = ‘ABCrist_H’
seq2 = ‘ABC_arist_b_02_H’
# _ab_02_
find(seq1, seq2)
[‘_’, ‘a’, ‘b’, ‘_’, ‘0’, ‘2’, ‘_’]
1. 字符串字母處理
2. 字符串填充
str.ljust(width, fillchar)、str.center(width, fillchar)、str.rjust(width, fillchar)
返回一個指定的寬度 width 「居左」/「居中」/「居右」的字符串,如果 width 小於字符串寬度直接返回字符串,否則使用 fillchar 去填充。
3,字符串計數
str.count(sub, start, end)
#統計字符串里某個字符出現的次數。可選參數為在字符串搜索的開始與結束位置。
start, end遵循**「左閉右開」**原則。
4. 字符串位置
str.endswith(suffix, start, end)和str.startswith(substr, beg, end)
#判斷字符串是否以指定後綴結尾/開頭,如果以指定後綴「結尾」/「開頭」返回 True,否則返回 False。
5. 字符串查找
6. 字符串判斷
7. 字符串拼接
str.join() #將序列中的元素以指定的字符連接生成一個新的字符串。
s1 = “-” s2 = “” seq = (“r”, “u”, “n”, “o”, “o”, “b”)
# 字符串序列 print (s1.join( seq )) print (s2.join( seq )) r-u-n-o-o-b runoob
8. 統計字符串長度
str.len() #返回對象(字符、列表、元組等)長度或項目個數。
9. 去除字符兩側空格
str.lstrip()、str.rstrip()、str.strip() #截掉字符串「左邊」/「右邊」/「左右」兩側的空格或指定字符。
str0 = ‘ Hello World!’ str0.lstrip() ‘Hello World!’ str1 = ‘aaaa Hello World!’ str1.lstrip(‘a’) ‘ Hello World!’
10. str.maketrans(intab, outtab)和str.translate(table)
str.maketrans()創建字符映射的轉換表
str.maketrans()根據參數table給出的錶轉換字符串的字符。
str.maketrans()傳入的也可以是字典
tab = {‘e’: ‘3’, ‘o’: ‘4’} trantab = str.maketrans(tab) str0.translate(trantab) ‘H3ll4 W4rld!’
11. 字符串替換
str.replace(old, new, max)
12. 字符分割
str.split(str, num)
13. 字符填充
str.zfill(width)
返回指定長度的字符串,原字符串右對齊,前面填充0。
原創文章,作者:CX10B,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/126362.html