python exercise string之二内建方法

版权声明:本文章为博主原创文章,未经博主允许不得转载,如有问题,欢迎留言交流指正 https://blog.csdn.net/finalkof1983/article/details/88817010
#split(seq,maxsplit)方法以指定字符对原始字符串进行切割,并以列表形式返回。maxsplit指定了最大切割次数,默认为全部切割
teststr = 'abcxyz123abc345ijk345xyzba'
print(teststr.split('xyz'))
print(teststr.split('xyz',1))

#输出
['abc', '123abc345ijk345', 'ba']
['abc', '123abc345ijk345xyzba']


#splitlines(keepends)方法以'\r' '\r\n' '\n'等换行符对原始字符串进行切割,并以列表形式返回。keepends默认值为Flase不保存换行符,keepends为True时保存换行符。
teststr = 'abc\nxyz\n123\nabc\n345\nijk\n345\nxyz\nba'
print(teststr.splitlines())
print(teststr.splitlines(keepends=True))

#输出
['abc', 'xyz', '123', 'abc', '345', 'ijk', '345', 'xyz', 'ba']
['abc\n', 'xyz\n', '123\n', 'abc\n', '345\n', 'ijk\n', '345\n', 'xyz\n', 'ba']

#lstrip(str)从字符串左边开始删除指定字符,默认值为空格。注意是从左边依次删除只写'ab'是无效的,最左边还有空格不能匹配
#rstrip(str)从字符串右边开始删除指定字符,默认值为空格。注意是从左边依次删除只写'bc'是无效的,最右边还有空格不能匹配
teststr = ' abc '
print(teststr.lstrip())
print(teststr.lstrip('ab'))
print(teststr.lstrip(' ab'))
print(teststr.rstrip())
print(teststr.rstrip('bc'))
print(teststr.rstrip(' bc'))


#输出
abc 
 abc 
c 
 abc
 abc 
 a


#strip(str)表同时执行lstrip(str)和rstrip(str)
teststr = ' AbC '
print(teststr.strip())
teststr = 'ABCBA'
print(teststr.strip("ABD"))
teststr = 'ABCBD'
print(teststr.strip("AB"))

#输出
AbC
C
CBD

#replace(oldstr,newstr,count)将指定字符串中的值替换,count为替换的次数,默认值为全部替换
teststr = 'abcxyz123abc345ijk345xyzba'
print(teststr.replace('xyz', '000', 1))
print(teststr.replace('xyz', '000', 3))

#输出
abc000123abc345ijk345xyzba
abc000123abc345ijk345000ba

#count(str, beg= 0, end=len(string))统计指定字符在字符串中出现的次数,beg和end用于指定下标的起止位置
teststr = 'abcxyz123abc345ijk345xyzba'
print(teststr.count('ab'))
print(teststr.count('3'))
print(teststr.count('3',10,24))


#输出
2
3
2

#startswith(substr, beg=0,end=len(string))指定字符串是否以指定字符开头,beg和end用于指定下标的起止位置
#endswith(suffix, beg=0, end=len(string))指定字符串是否以指定字符结尾,beg和end用于指定下标的起止位置
teststr = 'abcxyz123abc345ijk345xyzba'
print(teststr.endswith('xyzba'))
print(teststr.endswith('ab'))
print(teststr.endswith('ab',4,11))

#输出
True
False
True

#find(str, beg=0 end=len(string))从左侧开始在字符串中查找指定字符,返回首次匹配时的首字符的下标,如果不存咋的返回-1。beg和end用于指定下标的起止位置
#rfind(str, beg=0 end=len(string))从右侧开始在字符串中查找指定字符,返回首次匹配时的首字符的下标,如果不存咋的返回-1。beg和end用于指定下标的起止位置
teststr = 'abcxyz123abc345ijk345xyzba'
print(teststr.find('xyzba'))
print(teststr.find('ab'))
print(teststr.find('ab',4,11))
print(teststr.find('m'))

#输出
21
0
9
-1

#index(str, beg=0 end=len(string))从左侧开始在字符串中查找指定字符,返回首次匹配时的首字符的下标。beg和end用于指定下标的起止位置。与find不同的是如果查找的字符不存在时,会返回错误。
#rindex(str, beg=0 end=len(string))从右侧还是在字符串中查找指定字符,返回首次匹配时的首字符的下标。beg和end用于指定下标的起止位置。与find不同的是如果查找的字符不存在时,会返回错误。
teststr = 'abcxyz123abc345ijk345xyzba'
print(teststr.index('xyzba'))
print(teststr.index('ab'))
print(teststr.index('ab',4,11))
print(teststr.index('m'))

#输出
21
0
9
Traceback (most recent call last):
  File "F:/PythonProject/my_project/geektime/test.py", line 6, in <module>
    print(teststr.index('m'))
ValueError: substring not found

#isalnum()判断指定字符串是否只包含数字与字母
#isalpha()判断指定字符串是否只包含字母
#isdecimal()判断指定字符串是否只包含十进制数字
#isdigit()判断指定字符串是否只包含数字
#isnumeric()判断指定字符串是否只包含数字
#islower()判断指定字符串是否只包含小写字母
#isupper()判断指定字符串是否只包含大写字母
#isspace()判断指定字符串是否只包含空格
#istitle()判断指定字符串是否是标题化的
teststr = 'ab_c'
print(teststr.isalnum())

teststr = 'abc'
print(teststr.isalpha())

teststr = 'abc1'
for i in teststr:
    if i.isdigit():
        print(i)

#输出
False
True
1

#join(iterable),将原始字符串与iterable对象组合成新的字符串
teststr = 'abc'
print(teststr.join("012"))
print(teststr.join([str(i) for i in range(len(teststr))]))

#输出
0abc1abc2
0abc1abc2

#capitalize方法将字符串首字母转换为大写
teststr = 'abc'
print(teststr.capitalize())

#输出
Abc

#lower方法将字符串所有字符转化为小写
teststr = 'ABc'
print(teststr.lower())

#输出
abc

#upper方法将字符串所有字符转化为大写
teststr = 'abC'
print(teststr.upper())

#输出
ABC

#swapcase方法将字符串中所有大写字母转化为小写,所有小写字母转化为大写
teststr = 'AbC'
print(teststr.swapcase())

#输出
aBc

猜你喜欢

转载自blog.csdn.net/finalkof1983/article/details/88817010