【知识梳理】

 

【典例分析】

【例题50】

题目:给定一个字符串,然后移除制定位置的字符

 1 import os
 2 
 3 test_str = "Runoob"
 4   
 5 # 输出原始字符串
 6 print ("原始字符串为 : " , test_str) 
 7   
 8 # 移除第三个字符 n
 9 new_str = "" 
10 #这里的移植方式和C很不一样,直接+就可以连接,无需考虑下标问题。
11 for i in range(0, len(test_str)): 
12     if i != 2: 
13         new_str = new_str + test_str[i] 
14 
15 print ("字符串移除后为 : " , new_str) 
16 
17 os.system("pause>nul")
【例题50代码】

 

 

【例题51】

题目:给定一个字符串,然后判断指定的子字符串是否存在于该字符串中,略。

思路:string.find(kidstr)

 

【例题52】

题目:给定一个字符串,然后判断改字符串的长度,略。

 

【例题53】

题目:给定一个字符串,里面包含 URL 地址,需要我们使用正则表达式来获取字符串的 URL。

 1 import re 
 2 
 3 def Find(string): 
 4     url = re.findall('https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+', string)
 5     #上面用到的正则表达式详解
 6     #https      匹配https
 7     #?          匹配h ht htt http https       对它前面的正则式匹配0到1次重复。 ab? 会匹配 'a' 或者 'ab'。   
 8     #://        匹配://
 9     #(?:)       匹配在括号内的任何正则表达式,但该分组所匹配的子字符串不能在执行匹配后被获取或是之后在模式中被引用。正则括号的非捕获版本。
10     #[]         表示一个字符集合。字符可以单独列出,比如 [amk] 匹配 'a', 'm', 或者 'k'。
11     #-          可以表示字符范围,通过用 '-' 将两个字符连起来。比如 [a-z] 将匹配任何小写ASCII字符, [0-5][0-9] 将匹配从 00 到 59 的两位数字, [0-9A-Fa-f] 将匹配任何十六进制数位。 如果 - 进行了转义 (比如 [a\-z])或者它的位置在首位或者末尾(如 [-a] 或 [a-]),它就只表示普通字符 '-'。
12     #\w         匹配Unicode词语的字符,包含了可以构成词语的绝大部分字符,也包括数字和下划线。
13     #.          匹配除了换行的任意字符。
14     #|          A|B, A 和 B 可以是任意正则表达式,创建一个正则表达式,匹配 A 或者 B. 任意个正则表达式可以用 '|' 连接。它也可以在组合(见下列)内使用。扫描目标字符串时, '|' 分隔开的正则样式从左到右进行匹配。当一个样式完全匹配时,这个分支就被接受。意思就是,一旦 A 匹配成功, B 就不再进行匹配,即便它能产生一个更好的匹配。或者说,'|' 操作符绝不贪婪。
15     #(?:)       同上
16     #%
17     #[]         同上
18     #\d         匹配任何Unicode十进制数
19     #a-fA-F     匹配a-f和A-F共12个字母
20     #\da-fA-F   匹配十六进制数
21     #{2}        对其之前的正则式指定匹配 2 个重复;少于 2 的话就会导致匹配失败。比如, a{6} 将匹配6个 'a' , 但是不能是5个。
22 
23     return url 
24  
25 string = 'Runoob 的网页地址为:https://runoob.com,Google 的网页地址为:https://www.google.com'
26 print("Urls: ", Find(string))
【例题53代码】

 

  

【例题54】

题目:给定一个字符串代码,然后使用 exec() 来执行字符串代码

思路:exec(str)可将str内容视为代码,略。

 

【例题55】

题目:给定一个字符串,然后将其翻转,逆序输出

 1 import os
 2 
 3 old_str = "Runoob"
 4   
 5 # 输出原始字符串
 6 print ("原始字符串为 : " , old_str) 
 7   
 8 # 定义新字符串
 9 new_str = "" 
10 # i的范围很有意思,从大到小输出,下标从len-1到0,步长为-1,所以应该是这样
11 for i in range(len(old_str)-1,-1,-1): 
12         new_str = new_str + old_str[i] 
13 
14 print ("字符串倒序后为 : " , new_str) 
15 
16 os.system("pause>nul")
【例题55代码】

 

 

【例题56】

题目:给定一个字符串,从头部或尾部截取指定数量的字符串,然后将其翻转拼接

思路:按指定数量切成两串字符串,然后反序+号连接,略。