Python str字符串数据类型

Python str字符串数据类型

1      字符串(str)

字符串类型是python的序列类型,他的本质就是字符序列,而且python的字符串类型是不可以改变的,你无法将原字符串进行修改,但是可以将字符串的一部分复制到新的字符串中,来达到相同的修改效果。

2      字符串方法(str)

2.1   capitalize():字符串首字符大写

1 #capitalize():字符串首字符大写
2 
3 string = 'this is a string.'
4 
5 new_str = string.capitalize()
6 
7 print(new_str)
8 
9 #输出:This is a string.

 

2.2   center将字符串放在中间,在指定长度下,首尾以指定字符填充

#center(width, fillchar=None):将字符串放在中间,在指定长度下,首尾以指定字符填充

string = 'this is a string.'

new_str = string.center(30,'*')

print(new_str)

#输出:******this is a string.*******

 

2.3   count计算字符串中某字符的数量

1 #count(sub, start=None, end=None):计算字符串中某字符的数量
2 
3 string = 'this is a string.'
4 
5 new_str = string.count('i')
6 
7 print(new_str)
8 
9 #输出:3

 

2.4   decode解码

#decode(encoding=None, errors=None):解码

string = 'this is a string.'

new_str = string.decode()

print(new_str)
View Code

 

2.5   encode编码

#encode(self, encoding=None, errors=None):编码

string = 'this is a string.'

new_str = string.encode()

print(new_str)

2.6   endswith判断是否以某字符结尾

#endswith(self, suffix, start=None, end=None):判断是否以某字符结尾

string = 'this is a string.'

new_str = string.endswith('ing.')

print(new_str)

#输出:True

new_str = string.endswith('xx')

print(new_str)

#输出:False

2.7   expandtabs返回制表符。tabsize此选项指定要替换为制表符“\t' 的字符数,默认为8

#expandtabs(self, tabsize=None):返回制表符。tabsize此选项指定要替换为制表符“\t' 的字符数,默认为8

string_expandtabs = 'this\tis\ta\tstring.'

new_str = string_expandtabs.expandtabs()

print(new_str)

#输出:this    is      a       string

2.8   find在字符串中寻找指定字符的位置

#find(self, sub, start=None, end=None):在字符串中寻找指定字符的位置

string = 'this is a string.'

new_str = string.find('a') #找的到的情况

print(new_str)

#输出:8

new_str = string.find('xx') #找不到的情况返回-1

print(new_str)

#输出:-1

2.9   format类似%s的用法,它通过{}来实

#format(*args, **kwargs):类似%s的用法,它通过{}来实现

string1 = 'My name is {0},my job is {1}.'

new_str1 = string1.format('yue','tester')

print(new_str1)

#输出:My name is yue,my job is tester.

string2 = 'My name is {name},my job is {job}.'

new_str2 = string2.format(name='yue',job='tester')

print(new_str2)

#输出:My name is yue,my job is tester.

2.10     index类似find

#index(self, sub, start=None, end=None):;类似find

string = 'this is a string.'

new_str = string.index('a') #找的到的情况

print(new_str)

#输出:8

new_str = string.index('xx') #找不到的情况,程序报错

print(new_str)

#输出:程序运行报错,ValueError: substring not found

2.11     isalnum判断字符串中是否都是数字和字母,如果是则返回True,否则返回False

#isalnum(self):判断字符串中是否都是数字和字母,如果是则返回True,否则返回False

string = 'My name is yue,my age is 18.'

new_str = string.isalnum()

print(new_str)

#输出:False

string = 'haha18121314lala'

new_str = string.isalnum()

print(new_str)

#输出:True

2.12     isalpha判断字符串中是否都是字母,如果是则返回True,否则返回False

#isalpha(self):判断字符串中是否都是字母,如果是则返回True,否则返回False

string = 'abcdefg'

new_str = string.isalpha()

print(new_str)

#输出:True

string = 'my name is yue'

new_str = string.isalpha() #字母中间带空格、特殊字符都不行

print(new_str)

#输出:False

2.13     isdigit判断字符串中是否都是数字,如果是则返回True,否则返回False

# isdigit(self):判断字符串中是否都是数字,如果是则返回True,否则返回False

string = '1234567890'

new_str = string.isdigit()

print(new_str)

#输出:True

string = 'haha123lala'

new_str = string.isdigit() #中间带空格、特殊字符都不行

print(new_str)

#输出:False

2.14     islower判断字符串中的字母是否都是小写

# islower(self):判断字符串中的字母是否都是小写,如果是则返回True,否则返回False

string = 'my name is yue,my age is 18.'

new_str = string.islower()

print(new_str)

#输出:True

string = 'My name is Yue,my age is 18.'

new_str = string.islower()

print(new_str)

#输出:False

 

2.15      isspace判断字符串中是否都是空格

# isspace(self):判断字符串中是否都是空格,如果是则返回True,否则返回False

string = ' '

new_str = string.isspace()

print(new_str)

#输出:True

string = 'My name is Yue,my age is 18.'

new_str = string.isspace()

print(new_str)

#输出:False

2.16     istitle检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。

# istitle(self):检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。

string = 'My Name Is Yue.'

new_str = string.istitle()

print(new_str)

#输出:True

string = 'My name is Yue,my age is 18.'

new_str = string.istitle()

print(new_str)

#输出:False

2.17     isupper检测字符串中所有的字母是否都为大写

# isupper(self):检测字符串中所有的字母是否都为大写。

string = 'MY NAME IS YUE.'

new_str = string.isupper()

print(new_str)

#输出:True

string = 'My name is Yue.'

new_str = string.isupper()

print(new_str)

#输出:False

2.18     join将序列中的元素以指定的字符连接生成一个新的字符串

# join(self, iterable):将序列中的元素以指定的字符连接生成一个新的字符串。

string = ("haha","lala","ohoh")

str = "-"

print(str.join(string))

#输出:haha-lala-ohoh

2.19     ljust返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串

# ljust(self, width, fillchar=None):返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。

string = "My name is yue."

print(string.ljust(18))

#输出:My name is yue.

2.20      lower转换字符串中所有大写字符为小写。

# lower(self):转换字符串中所有大写字符为小写。

string = "My Name is YUE."

print(string.lower())

# 输出:my name is yue.

2.21     lstrip截掉字符串左边的空格或指定字符

# lstrip(self, chars=None):截掉字符串左边的空格或指定字符。

string = " My Name is YUE."

print(string.lstrip())

#输出:My Name is YUE.

string = "My Name is YUE."

print(string.lstrip('My'))

#输出: Name is YUE.

2.22     partition根据指定的分隔符将字符串进行分割。

# partition(self, sep):根据指定的分隔符将字符串进行分割。

string = "http://www.cecej.com"

print(string.partition('://'))

#输出:('http', '://', 'www.cecej.com')

2.23     replace把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次

#replace(self, old, new, count=None):把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。

string = "My name is yue."

print(string.replace("yue","ying"))

#输出:My name is ying.

2.24     rfind返回字符串最后一次出现的位置,如果没有匹配项则返回-1

# rfind(self, sub, start=None, end=None):返回字符串最后一次出现的位置,如果没有匹配项则返回-1。

string = "My name is yue."

print(string.rfind('is'))

#输出:8

string = "My name is yue."

print(string.rfind('XXX'))

#输出:-1

rindex

# rindex(self, sub, start=None, end=None):返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常,你可以指定可选参数[beg:end]设置查找的区间。

string = "My name is yue."

print(string.rindex('is'))

#输出:8

string = "My name is yue."

print(string.rindex('XXX'))

#输出:ValueError: substring not found

2.25     rjust返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串。

# rjust (self, width, fillchar=None):返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串。

string = "My name is yue."

print(string.rjust(18))

#输出: My name is yue.

2.26     rpartition根据指定的分隔符将字符串从右进行分割。

# rpartition(self, sep):根据指定的分隔符将字符串从右进行分割。

string = "http://www.mingyuanyun.com"

print(string.rpartition('.'))

#输出:('http://www.mingyuanyun', '.', 'com')

2.27     split通过指定分隔符对字符串进行切片

# split(self, sep=None, maxsplit=None):通过指定分隔符对字符串进行切片。

string = "haha lala gege"

print(string.split(' '))

#输出:['haha', 'lala', 'gege']

print(string.split(' ', 1 ))

#输出: ['haha', 'lala gege']

2.28     rsplit通过指定分隔符对字符串从右进行切片

# rsplit(self, sep=None, maxsplit=None):通过指定分隔符对字符串从右进行切片。

string = "haha lala gege"

print(string.rsplit(' '))

#输出:['haha', 'lala', 'gege']

print(string.rsplit(' ', 1 ))

#输出: ['haha lala', 'gege']

2.29     rstrip删除 string 字符串末尾的指定字符(默认为空格)

# rstrip(self, chars=None):删除 string 字符串末尾的指定字符(默认为空格).

string = " My name is yue. "

print(string.rstrip(" yue. "))

#输出: My name is

2.30     strip移除字符串头尾指定的字符(默认为空格)。

# strip(self, chars=None):移除字符串头尾指定的字符(默认为空格)。

string = " My name is yue. "

print(string.strip(" My "))

#输出:name is yue.

2.31     splitlines按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。

# splitlines(self, keepends=False):按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。

str1 = 'ab c\n\nde fg\rkl\r\n'

print(str1.splitlines())

# 输出:['ab c', '', 'de fg', 'kl']

str2 = 'ab c\n\nde fg\rkl\r\n'

print(str2.splitlines(True))

# 输出:['ab c\n', '\n', 'de fg\r', 'kl\r\n']

2.32     startswith检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False

# startswith(self, prefix, start=None, end=None):检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。

string = "My name is yue. "

print(string.startswith('My'))

#输出:True

string = "My name is yue."

print(string.startswith('yue'))

#输出:False

2.33     swapcase对字符串的大小写字母进行转换

# swapcase(self):对字符串的大小写字母进行转换。

string = "My Name Is Yue."

print(string.swapcase())

#输出:mY nAME iS yUE.

 

 

 

# title(self):返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())。

string = "my name is yue,my age is 18."

print(string.title())

#输出:My Name Is Yue,My Age Is 18.

 

# translate(self, table, deletechars=None):根据参数table给出的表(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到 del 参数中。

from string import maketrans

str = "aoeiu"

num = "12345"

trantab = maketrans(str, num)

string = "my name is yue"

print(string.translate(trantab))

# 输出:my n1m3 4s y53

2.34     upper将字符串中的小写字母转为大写字母

# upper(self):将字符串中的小写字母转为大写字母。

string = "my name is yue,my age is 18."

print(string.upper())

#输出:MY NAME IS YUE,MY AGE IS 18.

2.35     zfill返回指定长度的字符串,原字符串右对齐,前面填充0

# zfill(self, width):返回指定长度的字符串,原字符串右对齐,前面填充0。

string = "my name is yue."

print(string.zfill(18))

#输出:000my name is yue.

posted @ 2017-08-02 14:42  Aixce  阅读(396)  评论(0编辑  收藏  举报