一、字符
(1)python中没有char类型,字符用于处理文本 数据,用 ' '、" " 号表示
(2)字符常见内置方法:可以用 dir(str) 来查,内置方法的功能众多,不详细罗列。
(3)字符的索引和切片是重点:
1、python索引从0开始(与C\C++等一样,Matlab是从1开始)
2、python切片通常是 start:end 形式 [左闭右开),包括 start索引 对应的元素,不包括 end索引 对应的元素.
3、索引值可正可负,正索引从 0 开始,从左往右 ——>;负索引从 -1 开始,从右往左<——。使用负数索引时,会从最后一个元素开始计数。最后一个元素的位置编号是 -1。
进一步理解切片: 如下图所示,先插入切片
-
string[2:4] 就是「切片隔板 2」和「切片隔板 4」之间包含的元素,即 th
-
string[-5:-2] 就是「切片隔板 -5」和「切片隔板 -2」之间包含的元素,即 yth
正则表达式,主要用于识别字符串中符合某种模式的部分
需要提取的子字符串符合哪种模式,正则表达式就构造这种模式。
例子:
import re
input = """
'06/18/2019 13:00:00', 100, '1st';
'06/18/2019 13:30:00', 110, '2nd';
'06/18/2019 14:00:00', 120, '3rd'
"""
如果想把input中的时间部分提取出来,就要概述出这部分的特点,如‘06/18/2019 13:00:00’的特点是:1
开头和结束都有个单引号 ';2、里面有多个 0-9 数字;3、里面有多个正斜线 / 和冒号 : 4、还有一个空格。
因此,我们可以用
pattern = re.compile(" '[0-9/:\s]+' ")
(1)、以' 和开始和结束
(2)、[ ]中括号里面用来概括所有类型的元素
(3)、0-9代表数字、/、:、\s \s代表空格
(4)、+ 代表中括号内的字节至少出现过一次
print( pattern.findall( input ) )