Python字符串之——【增】【删】【‘改’】【查】——基本操作总结

一、字符串处理

       字符串对象是不可改变的,也就是说在python创建一个字符串后,你不能把这个字符中的某一部分改变。任何上面的函数改变了字符串后,都会返回一个新的字符串,原字串并没有变。

1.1 【增】

1.1.1 字符串的拼接

用加号拼接

>>>s='hello'+'world'                                  
>>>print(s)
helloworld

1.1.2用join 拼接

>>>a='world'                                          
>>>s=''.join(a)
>>>print(s)
world

用乘法重叠

>>>s='hello'*2                                        
>>>print(s)
hellohello

1.2 【删】

1.21 str.strip()

声明:s为字符串,rm为要删除的字符序列

s.strip(rm)        删除s字符串中开头、结尾处,位于 rm删除序列的字符;
s.lstrip(rm)       删除s字符串中开头处,位于 rm删除序列的字符;
s.rstrip(rm)       删除s字符串中结尾处,位于 rm删除序列的字符;

1. 当rm为空时,默认删除空白符(包括'\n', '\r',  '\t',  ' ')

例如:

1

2

 

 

a = '\nabc\r'
print(a.strip(''))

'abc'

2.这里的rm删除序列是只要边(开头或结尾)上的字符在删除序列内,就删除掉。

例如 :

1

2

3

4

5

>>> a = '123abc'

>>> a.strip('21')

'3abc'  结果是一样的

>>> a.strip('12')

'3abc'

1.22 split字符串的分割
说明:Python中没有字符类型的说法,只有字符串,这里所说的字符就是只包含一个字符的字符串!!!

split返回的是一个列表。

 首先列出一种常用的情况,不带参数,默认是空白字符。如下:

结果为:

1.按某一个字符分割,如‘.’

1

2

3

4

str = ('www.google.com')

print (str)

str_split = str.split('.')

print (str_split)

结果如下:


2.按某一个字符分割,且分割n次。如按‘.’分割1次

1

2

3

4

str = ('www.google.com')

print str

str_split = str.split('.'1)

print str_split

结果如下:

3.按某一字符串分割。如:‘||’

1

2

3

4

str = ('WinXP||Win7||Win8||Win8.1')

print str

str_split = str.split('||')

print str_split

结果如下:

 

1.3【改】

1.3.1 replace()替换

描    述:方法把字符串的原字符串替换成新字符串。

输出结果:str

实    例:

#!/usr/bin/python
str = "this is string example....wow!!! this is really string";
print (str.replace("is", "was"))
print (str.replace("is", "was", 3))

结果:

thwas was string example....wow!!! thwas was really string

thwas was string example....wow!!! thwas is really string

1.3.2  re.sub()替换(正则或字符串)

a = re.sub(r‘hello‘, ‘i love the‘, ‘hello world‘)
print(a)
‘i love the world‘   #hello world里面的hello被 i love the替换
>>> a = re.sub(‘(\d{4})-(\d{2})-(\d{2})‘, r‘\g<2>-\g<3>-\g<1>‘, ‘2018-06-07‘)
>>> a
‘06-07-2018‘  #\2 和 \g<2> 指代的的都是前面的第二个分组

1.4【查】 字符串查找替换

1.41索引s[1]

1.42切片s[0:1]

1.4.3 find() 查找

描    述:检测字符串中是否包含想要查找的字符。如果包含字符串返回字符串的索引值,否则返回-1

输出结果:索引或-1

实    例:

#!/usr/bin/env python
name = 'chenxin shi da hao ren.'
name1 = name.find('hao',20)
print(name1)
name2 = name.find('hao',10)
print(name2)

结    果:
-1
15

1.4.4 index() 查找

描    述:检测字符串中是否包含子字符串str

输出结果:索引值或报错

#!/usr/bin/python
str1 = "this is string example....wow!!!";
str2 = "exam";
print str1.index(str2);
print str1.index(str2, 10);
print str1.index(str2, 40);

结   果:
15
15

1.4.3 count() 统计

描    述:方法用来统计,必须填写关键字,默认为从头到尾。

输出结果:int

实    例:

#!/usr/bin/env python
name = 'chenxin'
name1 = name.count('e',0,4)
print(name1)
结    果:
1

1.5 【转换】

 

1.5.1 字符串格式化输出:%或format()

实例:
#!/usr/bin/env python
data = [4,8,15,16,24,67]
print('输出整数%d浮点数%.2f'%(data[2],data[0]))
print('{d[2]} {d[0]}'.format(d=data))
print('{0} {1}'.format(data[2],data[0])
结果:
输出整数15浮点数4.00
15 4
15 4

1.5.2 lower() 将所有大写转换为小写/S.upper()将所有小写转换为大写

描    述:转换字符串所有大写字符为小写

输出结果:字符串str

实    例:

#!/usr/bin/env python
name = "CHENXIN"
name1 = name.lower()
print(name1)
结果:
chenxin

S.upper()将所有小写转换为大写
返回S字符串的小写、大写格式。print('ab XY'.upper())AB #》》XY

1.5.4 swapcase()字母的大小写字符转换

描    述:用于对字符串的大小写字母进行转换

输出结果:str

实    例:

str = "this is string example....wow!!!";
print (str.swapcase())
str = "THIS IS STRING EXAMPLE....WOW!!!";
print (str.swapcase())

结    果:
THIS IS STRING EXAMPLE....WOW!!!
this is string example....wow!!!

1.5.3 capitalize() 第一个字母变大写

描    述:将字符串的第一个字母变为大写字母(不是每个单词的首字母,而是一对双引号引起来的一组字符串)

输出结果;str

实    例:

#!/usr/bin/env python3
name = "chenxin chenxing wo ai ni"
name1 = name.capitalize()
print(name1)
结    果:
Chenxin chenxing wo ai ni

1.5.5 title()将所有单词的字母大写开头

描    述:方法标题化的字符串,就是说所有单词都是以大写开始,其余字母均为小写。

输出结果:str

实    例:

#!/usr/bin/python
str = "this is string example....wow!!!";
print (str.title())

结   果:
This Is String Example....Wow!!!

1.5.4 casefold() 所有字母为小写

描    述:将字符串所有字母变为小写。

输出结果:str

实    例:

#!/usr/bin/env python3
name = "NI SHI SHA BI ME?"
name1 = name.casefold()
print(name1)
结    果:
ni shi sha bi me?

1.6 字符串判断

1.6.1 startswith()判断是否已指定字符开头

描    述:方法用于判断字符串是否是以指定的字符串开头

输出结果:Ture,False

实    例:

#!/usr/bin/python
str = "this is string example....wow!!!";
print (str.startswith( 'this' ))
print (str.startswith( 'is', 2, 4 ));
print (str.startswith( 'this', 2, 4 ));

结果:
True
True
False

1.6.2 endswith() 判断是否以指定后缀结尾

描    述:方法用于判断字符串是否以指定后缀结尾。

输出结果:Ture,False

实    例:

#!/usr/bin/python
str = "this is string example....wow!!!";
suffix = "wow!!!";
print (str.endswith(suffix))
print (str.endswith(suffix,20))
suffix = "is";
print str.endswith(suffix, 2, 4);
print str.endswith(suffix, 2, 6);

结    果:
True
True
True
False

1.6.3 isalnum() 判断是否由字母和数字组成

描    述:检测一组字符串(整个字符串,而不是一个单词)是否由字符和数字组成

输出结果:True,False

实    例:

#!/usr/bin/env python
name = 'chenxin'
name1 = name.isalnum()
print(name1)
str  = 'this is string example....wow!!!'
str1 = str.isalnum()
print(str1)

结果:
True
False

1.6.4 isalpha() 判断是否只有字母组成

描    述:检测字符串是否只有字母组成

输出结果:True,False

实    例:

#!/usr/bin/env python
name = 'chenxin'
name1 = name.isalpha()
print(name1)
str = 'chen12'
str1 = str.isalpha()
print(str1)

结果:
True
False

1.6.5 isdecimal() 判断是否只含十进制字符

描    述:检测字符串是否只包含十进制字符,这种方法址存在unicode对象,定义一个十进制字符串,只需要在字符串前面加'u'前缀即可。

输出结果:True,False

实    例:

#!/usr/bin/env python
name = "123456"
name1 = name.isdecimal()
print(name1)
str = "chenxin"
print(str.isdecimal())

结果:
True 
False

1.6.6 isdigit() 判断是否只是数字

描    述:检测字符串是否只由数字组成

输出结果:True,False

1.6.9 isnumeric() 判断只包含数字

描述:判断只由数字组成,数字字符范围很大,比较isdigit范围大

输出结果:True,False

1.6.7 isidentifier()判断是否合法的标识符

描    述:判断字符串是否是合法的标识符,字符串仅包含中文字符合法,实际上这里判断的是变量名是否合法:

输出结果:True,False

1.6.8 islower() 判断是否由小写字母组成

描    述:检测字符串是否只有小写字母组成

输出结果:True,False

1.6.9 isuppe()判断是否都是大写

描    述:检测字符串是否都为大写。

输出结果:返回True或False

1.6.10 isprintable() 判断是否全部可打印

描    述:判断字符串所包含的字符是否全部可打印。字符串包含不可打印字符,如转义字符

输出结果:True,False

1.6.11 isspace() 判断只包含空格或制表符

描    述:判断字符串是否仅包含空格或制表符。注意:空格字符与空白是不同的

返回结果:True,False

1.6.12 istitle()判断首字母大写

描    述:检测字符串所有单词拼写字母是否首字母大写,其他字母小写。

输出结果:返回True或False

 

 

 

你可能感兴趣的:(Python自动化测试)