一、實(shí)驗(yàn)內(nèi)容
1.輸人一個(gè)字符串,將該字符串中下標(biāo)為偶數(shù)的字符組成新串并通過(guò)字符串格式化方式顯示。
(1)源代碼
x = input("請(qǐng)輸入一個(gè)字符串:")
y = x[::2]
print("下標(biāo)為偶數(shù)的字符組成的新串為:{}".format(y))
(2)運(yùn)行結(jié)果截圖
2.編寫程序,生成一個(gè)由15個(gè)不重復(fù)的大小寫字母組成的列表。
(1)源代碼
import random
import string
list1 = []
while len(list1) <= 15:
x = random.choice(string.ascii_letters)
if x not in list1:
list1.append(x)
print("15個(gè)不重復(fù)的大小寫字母組成的列表為:",list1)
(2)運(yùn)行結(jié)果截圖
3.給定字符串"site sea suede sweet see kase sse sseeloses",匹配出所有以s開頭、e結(jié)尾的單詞。
(1)源代碼
import re
x = 'site sea suede sweet see kase sse ssee loses'
z = re.findall(r's[^0-9]e',x)
print("所有以s開頭,e結(jié)尾的單詞為:",z)
(2)運(yùn)行結(jié)果截圖
4.生成15個(gè)包括10個(gè)字符的隨機(jī)密碼,密碼中的字符只能由大小寫字母、數(shù)字和特
殊字符“@”“$”“#”“&”“_”“~”構(gòu)成。
(1)源代碼
import random
import string
list1 = []
x = string.ascii_letters + string.digits + "@$#&_~"
while len(list1) <= 14:
y = [random.choice(x) for i in range(10)]
list1.append(" ".join(y))
else:
print("生成結(jié)束:開始輸出列表。")
print("列表為:\n", list1)
print("列表元素個(gè)數(shù)為:", len(list1))
(2)運(yùn)行結(jié)果截圖
5給定列表x=[“13915556234”,“13025621456”,“15325645124”,“15202362459”],檢查列表中的元素是否為移動(dòng)手機(jī)號(hào)碼,這里移動(dòng)手機(jī)號(hào)碼的規(guī)則是:手機(jī)號(hào)碼共11位數(shù)字;以13開頭,后面跟4、5、6、7、8、9中的某一個(gè);或者以15開頭,后面跟01、2、89中的某一個(gè)。
(1)源代碼
import re
x = ["13915556234", "13025621456", "15325645124", "15202362459"]
for i in x:
if len(i) == 11 and (re.findall(r'^13[4-9]', i) or re.findall(r'^15[01289]', i)):
print(i)
(2)運(yùn)行結(jié)果截圖文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-434231.html
二、實(shí)驗(yàn)總結(jié)
在Python中,字符串的構(gòu)造主要通過(guò)兩種方法來(lái)實(shí)現(xiàn),一是使用str函數(shù),二是用單引號(hào)、雙引號(hào)或三引號(hào)。在Python中,使用引號(hào)是一種非常便捷的構(gòu)造字符串方式。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-434231.html
- 單引號(hào)或雙引號(hào)構(gòu)造字符串在用單引號(hào)或雙引號(hào)構(gòu)造字符串時(shí),要求引號(hào)成對(duì)出現(xiàn)。如:Python World!’、ABC’、"what is your name?”,都是構(gòu)造字符串的方法。string”在Python中不是一個(gè)合法的字符串。
- 單雙引號(hào)構(gòu)造字符串的特殊用法如果代碼中的字符串包含了單引號(hào),且不用轉(zhuǎn)義字符,那么整個(gè)字符串就要用雙引號(hào)來(lái)構(gòu)造,否則就會(huì)出錯(cuò)。
- 三重引號(hào)字符串三重引號(hào)字符串是一種特殊的用法。三重引號(hào)將保留所有字符串的格式信息。如字符串跨越多行,行與行之間的回車符、引號(hào)、制表符或者其他任何信息,都將保存下來(lái)。在三重引號(hào)中可以自由地使用單引號(hào)和雙引號(hào)。
- 正則表達(dá)式是一個(gè)特殊的字符序列,利用事先定義好的一些特定字符以及它們的組合組成一個(gè)“規(guī)則”,檢查一個(gè)字符串是否與這種規(guī)則匹配來(lái)實(shí)現(xiàn)對(duì)字符的過(guò)濾或匹配。正則表達(dá)式是字符串處理的有力工具,但是并不是Python獨(dú)有的,其他語(yǔ)言也有。
- Python中,re模塊提供了正則表達(dá)式操作所需要的功能。
大多數(shù)字母和字符一般都會(huì)和自身匹配。如果在字符串前面加了r,表示對(duì)字符串不進(jìn)行轉(zhuǎn)義。有些字符比較特殊,它們和自身并不匹配,而是表明應(yīng)和一些特殊的東西匹配,或者會(huì)影響重復(fù)次數(shù)。這些特殊的字符我們稱之為元字符。
re模塊中findall()方法以列表的形式返回所有能匹配的子串,如果沒(méi)有找到匹配的,則返回空列表
- “.”:表示除換行符以外的任意字符
- “[]”:指定字符集
- “∧”:匹配行首,匹配以后面的字符開頭的字符串
- “\”:反斜杠后面可以加不同的字符以表示不同的特殊意義
- “ ”:匹配位于之前的字符或子模式的0次或多次出現(xiàn)
- “+”:匹配位于+之前的字符或子模式的1次或多次出現(xiàn)
- “?”:匹配位于?之前的0個(gè)或1個(gè)字符
- “{m,n}”:表示至少有m個(gè)重復(fù),至多有n個(gè)重復(fù)。m和n均為十進(jìn)制數(shù)
到了這里,關(guān)于【Python習(xí)題集4】字符串與正則表達(dá)式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!