python中在表单查找字符串_Python学习笔记1—Python字符串

字符串是python中重要的数据对象

python字符串是以单引号、双引号、或者三个三单引号三个双引号包含的任意的python数据对象都可以称为python字符串

注意:以单引号或双引号包含的数据对象中间不可以换行(若需要换行需要用转义字符\n),三个单引号或三个双引号可以包含多行的数据对象。

一、转义符

在任何的语言里都有转义符这样的概念存在,转义符是让含有特殊意义的字符失去特殊的意义,按照普通的形式打印。

例如我们需要打印出某个文件的路径print 'c:\note\takes.txt'

执行结果为c:

oteakes.txt

这并不是我们想要的结果,这时需要用转义字符,使\n和\t这些含有特殊意义的字符失去本身的意义,才会按照正确的格式打印出来。print 'c:\\note\\takes.txt'

执行结果为c:\note\takes.txt

也可以在字符串前面添加“r”使接下来的整个字符串中的特殊字符失去特殊的意义。print r'c:\note\takes.txt'

二、字符串分片操作(游标)

字符串是有序的序列

索引开始从0开始,结束为-1

分片操作包含索引开始值,但是不包含终止值,通常是终止值减1

字符串变量[游标]:返回当前游标所对应的字符。

字符串变量[开始游标,结束游标,步长]:开始游标指截取字符串的开始下标;结束游标指截取字符串的结束下标;步长是指游标的间隔数。

注意:截取的结果包括开始游标不包括结束游标;开始游标可以省略,省略默认为0;结束游标可省,省略默认为截取到字符串末尾;步长可省,省略默认为1。a='0123456789'

print a[1]

print a[-2]

print a[2:4]

print a[2:8:2]

print a[:7:2]

print a[2:7:]

print a[2::]

执行结果为1

8

23

246

0246

23456

23456789

三、字符串方法

字符串方法是针对字符串的操作,方法已经定义并封装,使用简化操作和代码重写

1.字符串填充方法

center(width[,fillchar])

字符串在指定长度内居中

ljust(width[,fillchar])

字符串在指定长度内靠左对齐

rjust(width[,fillchar])

字符串在指定长度内靠右对齐

zfill(width)

zfill()即是以字符0进行填充,在输出数值时比较常用

width:宽度表示字符在什么宽度内居中,该数值包括字符串本身的长度,若指定的长度小于字符串本身的长度,该方法不会生效

fillchar:可选参数,表示以什么字符填充空白部分,默认是空格。

注意:若指定的长度过大,运行窗口一行放不下时会换行显示,影响显示效果。a='0123456789'

print a.center(50,'*')

print a.ljust(50,'*')

print a.rjust(50,'*')

print '1'.zfill(2)

print '10'.zfill(2)

执行结果为********************0123456789********************

0123456789****************************************

****************************************0123456789

01

10

expandtabs([tabsize])

expandtabs()的tabsize 参数默认为8。它的功能是把字符串中的制表符tab转换为适当数量的空格。

注意:

tabsize参数包括从该制表符到它的上一个制表符的所有字符;

若tabsize的值小于等于该制表符到它的上一个制表符的所有字符,则显示的空格数是(x*tabsize-该制表符到它的上一个制表符的所有字符数);

若tabsize的值大于该制表符到它的上一个制表符的所有字符,则显示的空格数是(tabsize-该制表符到它的上一个制表符的所有字符数).a='123\twfdsf\tadfsd'

b='012345678901234567890'

print b

print a.expandtabs(3)

print a.expandtabs(2)

print a.expandtabs(4)

print a.expandtabs(7)

执行结果为012345678901234567890

123   wfdsf adfsd

123 wfdsf adfsd

123 wfdsf   adfsd

123    wfdsf  adfsd

2.字符串删减方法

strip()函数族用以去除字符串两端的空白符

strip([chars])    去掉字符串两端的指定的符号

rstrip([chars])    去掉字符串右端的指定的符号

lstrip([chars])    去掉字符串左端的指定的符号

chars:可省参数,表示要去掉的字符,可以是多个字符,省略默认为空格。a='     adfasdff      '

print a.strip()

print a.lstrip()

print a.rstrip()

a='**********adfadsfasdfasd**********'

print a.strip('*')

print a.lstrip('*')

print a.rstrip('*')

a='*!*!*!*!*!adfadsfasdfasd*!*!*!*!'

print a.strip('*!')

print a.lstrip('*!')

print a.rstrip('*!')

执行结果为adfasdff

adfasdff

adfasdff

adfadsfasdfasd

adfadsfasdfasd**********

**********adfadsfasdfasd

adfadsfasdfasd

adfadsfasdfasd*!*!*!*!

*!*!*!*!*!adfadsfasdfasd

3.字符串变形方法

lower()        将字符串转换为小写

upper()        将字符串转换为大写

capitalize()    首字母大写

swapcase()     大小写之间转换

title()        单词首字母大写(按空格等间隔符来区分单词,不能区分单词拼写是否正确)a='Hello World,Python!'

print a.lower()

print a.upper()

print a.capitalize()

print a.swapcase()

print a.title()

a='hello world,python!'

print a.capitalize()

print a.title()

执行结果为hello world,python!

HELLO WORLD,PYTHON!

Hello world,python!

hELLO wORLD,pYTHON!

Hello World,Python!

Hello world,python!

Hello World,Python!

4.字符串切分方法

splitlines([keepends])返回一个列表,将字符串按行\n分隔.keepends:可选参数,若为True,会在列表中分割的子串中显示换行符\n;若为False不显示.默认为False。

split([sep[,maxsplit]])返回一个列表,将字符串按某个字符从左向右分隔

rsplit([sep[,maxsplit]])返回一个列表,将字符串按某个字符从右向左分隔分隔

sep:可选参数,按指定的字符分隔字符串,默认按空格、换行、制表符等符号分隔

maxsplit:可选参数,指定分隔的次数,默认是分隔全部的字符串。

split和rsplit在不指定maxsplit参数的情况下是完全相同的效果。a='hello world python \ni am comming \nabc123'

print a.splitlines()

print a.splitlines(True)

print a.split()

print a.split(' ')

print a.split(' ',4)

print a.rsplit()

print a.rsplit(' ')

print a.rsplit(' ',4)

执行结果为['hello world python ', 'i am comming ', 'abc123']

['hello world python \n', 'i am comming \n', 'abc123']

['hello', 'world', 'python', 'i', 'am', 'comming', 'abc123']

['hello', 'world', 'python', '\ni', 'am', 'comming', '\nabc123']

['hello', 'world', 'python', '\ni', 'am comming \nabc123']

['hello', 'world', 'python', 'i', 'am', 'comming', 'abc123']

['hello', 'world', 'python', '\ni', 'am', 'comming', '\nabc123']

['hello world python', '\ni', 'am', 'comming', '\nabc123']

5.字符串连接方法

join(seq)将字符串的值插入到seq参数提供的字符串中

join() 函数的高效率(相对于循环相加而言)使它成为最值得关注的字符串方法之一print '123'.join('abcdef')

print 'Hello'.join('|||')

执行结果为a123b123c123d123e123f

|Hello|Hello|

6.字符串判断方法

isalnum()判断是否为字母或数字,不包含其他字符,若是字母或数字返回True

isalpha()判断是否为字母,若是字母,返回True

isdigit()判断是否为数字,若是数字,返回True

islower()判断字符串中的字母是否全部为小写,若是,返回True

isupper()判断字符串中的字母是否全部为大写,若是,返回True

isspace()判断是否是空格,若是空格,返回True

istitle()判断首字母是否是大写,若是,返回Trueprint 'python!123'.isalnum(),'python123'.isalnum()

print 'Python123'.isalpha(),'Python'.isalpha()

print 'python123'.isdigit(),'123'.isdigit()

print 'python'.islower(),'python123'.islower(),'Python'.islower(),'PYTHON'.islower()

print 'PYTHON'.isupper(),'PYTHON123'.isupper(),'Python'.isupper(),'python'.isupper()

print '   '.isspace(),'  python'.isspace()

print 'Python good'.istitle(),'python Good'.istitle(),'Python Good'.istitle()

执行结果为False True

False True

False True

True True False False

True True False False

True False

False False True

startswith(prex[, start[, end]])判断字符串是否是以prex参数的值开始的,若是,返回True。

endswith(sux[,start[, end]])判断字符串是否是以sux参数的值结束的,若是,返回True。

start:可省参数,指定字符串的开始游标,省略默认为0

end:可省参数,指定字符串的结束游标,省略默认为截取到字符串结尾。print 'Python123'.startswith('p'),'Python123'.startswith('P'),'Python123'.startswith('Py')

print 'Python123'.startswith('th',2),'Python123'.startswith('h',3,5)

print 'Python123'.endswith('123'),'Python123'.endswith('3')

print 'Python123'.endswith('on',2,6),'Python123'.endswith('123',4)

执行结果为False True True

True True

True True

True True

7.字符串查找方法

count( sub[, start[, end]])统计sub参数在字符串中出现的次数

find( sub[, start[, end]])查找sub参数在字符串中首次出现的位置,若没找到,返回-1

index( sub[, start[, end]])查找sub参数在字符串中首次出现的位置,若没找到,报错

start参数和end参数与startswith()方法的start,end参数使用方法相同。a='012345678901234567890123456789'

print a.count('3'),a.count('23',4,14)

print a.find('3'),a.find('23',14,24),a.find('e')

print a.index('3'),a.index('23',14,24),a.index('e')

执行结果为3 1

3 22 -1

3 22

Traceback (most recent call last):

File "C:\Users\Administrator\Desktop\123.py", line 4, in 

print a.index('3'),a.index('23',14,24),a.index('e')

ValueError: substring not found

8.字符串替换方法

replace(old, new[,count])将字符串中old的值替换为new的值。

replace()函数的 count 参数用以指定最大替换次数a='012345678901234567890123456789'

print a.replace('1','q'),a.replace('1','q',2)

print a.replace('123','qw'),a.replace('123','qw',2)

执行结果为0q234567890q234567890q23456789 0q234567890q234567890123456789

0qw4567890qw4567890qw456789 0qw4567890qw4567890123456789

9.字符串编码方法

encode([encoding[,errors]])加码

decode([encoding[,errors]])解码

这是一对互逆操作的方法,用以编码和解码字符串。因为str是平台相关的,它使用的内码依赖于操作系统环境,而unicode是平台无关的,是Python内部的字符串存储方式。unicode可以通过编码(encode)成为特定编码的str,而str也可以通过解码(decode)成为unicode

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值