1
+ #%% [markdown]
2
+ ## 字符串操作
3
+ ### count()返回特定子串在字符串中出现的次数
4
+ # In[]
5
+ seq = '12345,1234,123,12,1'
6
+ seql = '1'
7
+ a = seq .count (seql )
8
+ a
9
+
10
+ #%% [markdown]
11
+ ### strip()去除字符串首尾的指定符号。无指定时,默认去除空格符和换行符
12
+
13
+ # In[]
14
+ seq = '我们正在使用实验楼,实验楼学到很多!'
15
+ seq .strip ()
16
+ seq .strip ('!' )
17
+ seq .strip ('我们' )
18
+
19
+ #### lstrip()去除字符串左边指定的符号
20
+ #### rstrip()去除字符串右边指定的符号
21
+
22
+ # In[]
23
+ seq = '12321'
24
+ print (seq .lstrip ('1' ))
25
+ print (seq .strip ('1' ))
26
+ print (seq .rstrip ('1' ))
27
+
28
+ ### 字符串拼接
29
+ #### '+'直接拼接
30
+ #%%
31
+ seq1 = '实'
32
+ seq2 = '验'
33
+ seq3 = '楼'
34
+ seq = seq1 + seq2 + seq3
35
+ print (seq )
36
+
37
+ ### 字符串拼接
38
+
39
+ #### join()方法
40
+ #%%
41
+ seq = ['2018' , '10' , '31' ]
42
+ seq = '-' .join (seq )
43
+ print (seq )
44
+
45
+ ### 字符串比较
46
+ #### 这里需要加载operator工具
47
+ #%%
48
+ import operator
49
+ seq1 = '字符串1号'
50
+ seq2 = '字符串2号'
51
+ print (operator .gt (seq1 ,seq2 ))
52
+
53
+ ##### 直接使用运算符
54
+ #%%
55
+ print (seq1 )
56
+ print (seq2 )
57
+ print (seq1 < seq2 )
58
+
59
+ ### 大小写转换
60
+ #### upper(),lower()
61
+ #%%
62
+ seq = 'appLE'
63
+ print (seq .upper ())
64
+ print (seq .lower ())
65
+
66
+ ### 查找字符串
67
+ #### find未找到则返回-1
68
+ #%%
69
+ seq = '这是一段字符串'
70
+ seq1 = '字符串'
71
+ print (seq .find (seq1 ))
72
+ print (seq .find ('无' ))
73
+
74
+ ### 字符串截取
75
+ #%%
76
+ seq = '这是字符串'
77
+ seq1 = seq [0 :4 ]
78
+ print (seq1 )
79
+ print (seq [0 ])
80
+ print (seq [2 :4 ])
81
+
82
+
83
+ ### 字符串切分
84
+ #%%
85
+ seq = '今天天气很好,我们出去玩'
86
+ print (seq .split (',' ))
87
+ seq = '2018-11-11'
88
+ print (seq .split ('-' ))
89
+ seq = 'I have an apple'
90
+ print (seq .split (' ' ))
91
+
92
+ ### 字符串翻转
93
+ #%%
94
+ seq = '12345'
95
+ print (seq [::- 1 ])
96
+
97
+
98
+ ### 字符串代替
99
+ #%%
100
+ seq = '2018-11-11'
101
+ print (seq .replace ('-' ,'/' ))
102
+
103
+ ### 以某字符串开头结尾
104
+ #%%
105
+ seq = 'abcdefg'
106
+ print (seq .startswith ('a' ))
107
+ print (seq .endswith ('f' ))
108
+
109
+
110
+
111
+ ## 正则表达式
112
+ #### 不规则日期年份的提取
113
+ #%%
114
+ import re
115
+ # 连续四个字符,每个字符是0-9
116
+ pattern = re .compile (r'[0-9]{4}' )
117
+ time = '2018-01-01'
118
+ match = pattern .search (time )
119
+ match .group ()
120
+
121
+ #%%
122
+ import re
123
+ pattern = re .compile (r'[0-9]{4}' )
124
+ times = ('2018-01-01' , '01/01/2019' , '01.2017.01' )
125
+ for time in times :
126
+ match = pattern .search (time )
127
+ if match :
128
+ print ('年份有:' , match .group ())
129
+
130
+ ### findall
131
+ #%%
132
+ import re
133
+ # 识别数字
134
+ pattern = re .compile (r'\d' )
135
+ print (pattern .findall ('o1n2m3k4' ))
136
+ # 识别非数字
137
+ pattern = re .compile (r'\D' )
138
+ print (pattern .findall ('o1j2k3n4' ))
139
+
140
+ ### match
141
+ # match 与 search功能一样,但是只匹配一次,并且从开头开始匹配
142
+ #%%
143
+ import re
144
+ pattern = re .compile ('c' )
145
+ print (pattern .match ('comcdc' ).group ())
146
+ pattern = re .compile ('1' )
147
+ # 无法匹配1,因为match从开头匹配
148
+ print (pattern .match ('abcdefg1' ).group ())
0 commit comments