str python3_python3.x 基础一:str字符串方法

本文详细介绍了Python中常用的字符串操作方法,包括capitalize、casefold、center、count、endswith等,涵盖了字符串的大小写转换、查找、填充、切片等多种功能,帮助开发者更好地理解和运用Python字符串。
摘要由CSDN通过智能技术生成

|  capitalize(...)   返回字符串中第一个字母大写

|      S.capitalize() -> str

|

|      Return a capitalized version of S, i.e. make the first character

|      have upper case and the rest lower case.

>>> str1='i am chinese'

>>>str1.capitalize()

'I am chinese'

|  casefold(...)  将大写转换成小写

|      S.casefold() -> str

|

|      Return a version of S suitable for caseless comparisons.

>>> str2='I AM A CHINESE'

>>>str2.casefold()

'i am a chinese'

|  center(...)  第一个参数是总字符长度,第二个是补全字符,原字符串居中

|      S.center(width[, fillchar]) -> str

|

|      Return S centered in a string of length width. Padding is

|      done using the specified fill character (default is a space)

>>> str1.center(50,'#')

'###################i am chinese###################'

|  count(...)  计算某个字符/元素出现次数

|      S.count(sub[, start[, end]]) -> int

|

|      Return the number of non-overlapping occurrences of substring sub in

|      string S[start:end].  Optional arguments start and end are

|      interpreted as in slice notation.

>>> str1.count('e')

2

>>> str1.count('i')

2

>>> str1.count('a')

1

|  endswith(...)  是否以某个后缀字符串结束

|      S.endswith(suffix[, start[, end]]) -> bool

|

|      Return True if S ends with the specified suffix, False otherwise.

|      With optional start, test S beginning at that position.

|      With optional end, stop comparing S at that position.

|      suffix can also be a tuple of strings to try.

>>> str2.endswith('SE')

True

>>> str2.endswith('S')

False

>>> str = "this is string example....wow!!!";

>>> suffix = "is"

>>> print (str.endswith(suffix, 2, 6))

False

>>> print(str[2:7])

is is

#字符串含有指定后缀,为什么不是返回真?

#理解错误,起始位置是左闭右开

>>> print (str.endswith(suffix, 2,7))

True

|  expandtabs(...) 扩展tab字符n个

|      S.expandtabs(tabsize=8) -> str

|

|      Return a copy of S where all tab characters are expanded using spaces.

|      If tabsize is not given, a tab size of 8 characters is assumed.

>>> str4='I am \t Chinese'

>>> str4.expandtabs(10)

'I am Chinese'

|  find(...)  返回查找到的第一个字符位置,否则返回-1

|      S.find(sub[, start[, end]]) -> int

|

|      Return the lowest index in S where substring sub is found,

|      such that sub is contained within S[start:end].  Optional

|      arguments start and end are interpreted as in slice notation.

|

|      Return -1 on failure.

>>>str2

'I AM A CHINESE'

>>> str2.find('M')

3

>>> str2.find('A')

2

>>> str2.find('B')

-1

|  index(...)  同上,查找不到则报错

|      S.index(sub[, start[, end]]) -> int

|

|      Like S.find() but raise ValueError when the substring is not found.

>>>str2

'I AM A CHINESE'

>>> str2.index('A')

2

>>> str2.index('B')

Traceback (most recent call last):

File "", line 1, in ValueError: substring not found

|  isalnum(...)  判断字符串是否由字母数字组成

|      S.isalnum() -> bool

|

|      Return True if all characters in S are alphanumeric

|      and there is at least one character in S, False otherwise.

>>> str5='I am 1 chinese'

>>>str5.isalnum()

False

>>> str6='iAm1Chinese'

>>>str6.isalnum()

True

|  isalpha(...)  判断字符串是否全部是字符组成

|      S.isalpha() -> bool

|

|      Return True if all characters in S are alphabetic

|      and there is at least one character in S, False otherwise.

>>> str7='iamChinese'

>>>str7.isalpha()

True

>>>str3.isalpha()

False

|  isdecimal(...) 如果字符串是否只包含十进制字符返回True,否则返回False

|      S.isdecimal() -> bool

|

|      Return True if there are only decimal characters in S,

|      False otherwise.

>>> str8=u'asdfasdf1000'

>>>str8.isdecimal()

False

>>> stru=u'1000'

>>>stru.isdecimal()

True

|  isdigit(...)  判断字符串中是否全部是数字

|      S.isdigit() -> bool

|

|      Return True if all characters in S are digits

|      and there is at least one character in S, False otherwise.

>>> str9,str10='abc123','123'

>>>str9.isdigit()

False

>>>str10.isdigit()

True

|  isidentifier(...) 判断变量明明是否合法

|      S.isidentifier() -> bool

|

|      Return True if S is a valid identifier according

|      to the language definition.

|

|      Use keyword.iskeyword() to test for reserved identifiers

|      such as "def" and "class".

|  islower(...)  判断字符串中所有字母是否小写

|      S.islower() -> bool

|

|      Return True if all cased characters in S are lowercase and there is

|      at least one cased character in S, False otherwise.

>>> str11,str12,str13='abcd','AbCd','Ab123'

>>>str11.islower()

True

>>>str12.islower()

False

>>>str13.islower()

False

>>> str14='aa123'

>>>str14.islower()

True

|  isnumeric(...) 判断字符串中所有字符是否是数字

|      S.isnumeric() -> bool

|

|      Return True if there are only numeric characters in S,

|      False otherwise.

>>>str10,str14

('123', 'aa123')

>>>str10.isnumeric()

True

>>>str14.isnumeric()

False

|  isspace(...) 判断字符是否是空格

|      S.isspace() -> bool

|

|      Return True if all characters in S are whitespace

|      and there is at least one character in S, False otherwise.

>>> str1,str14,str15

('i am chinese', 'aa123', ' ')

>>> str1.isspace(),str14.isspace(),str15.isspace()

(False, False, True)

|  istitle(...) 判断字符串是否是标题,标题单词首字母均大写

|      S.istitle() -> bool

|

|      Return True if S is a titlecased string and there is at least one

|      character in S, i.e. upper- and titlecase characters may only

|      follow uncased characters and lowercase characters only cased ones.

|      Return False otherwise.

>>> str16,str17='I Am Chinese','I am chinese'

>>>str16.istitle(),str17.istitle()

(True, False)

|  isupper(...)  判断字符串中字母是否全部是大写

|      S.isupper() -> bool

|

|      Return True if all cased characters in S are uppercase and there is

|      at least one cased character in S, False otherwise.

>>> str18,str19='ABC123','Abc123'

>>>str18.isupper(),str19.isupper()

(True, False)

|  join(...) 将其他可迭代对象转换成字符串,S表示字符串分隔符

|      S.join(iterable) -> str

|

|      Return a string which is the concatenation of the strings in the

|      iterable.  The separator between elements is S.

>>> list1=['a','b','c','d']

>>> ','.join(list1)

'a,b,c,d'

>>> ''.join(list1)

'abcd'

>>> ' '.join(list1)

'a b c d'

|  ljust(...)  共width个位置,字符串靠左,右边以字符填充

|      S.ljust(width[, fillchar]) -> str

|

|      Return S left-justified in a Unicode string of length width. Padding is

|      done using the specified fill character (default is a space).

>>>str10

'123'

>>> str10.ljust(10,'#')

'123#######'

|  lower(...)  将字符串中所有大写字母转换成小写

|      S.lower() -> str

|

|      Return a copy of the string S converted to lowercase.

View Code

|  lstrip(...)  将左边空格剪掉,可以指定其他被剪掉空格,\n \t

|      S.lstrip([chars]) -> str

|

|      Return a copy of the string S with leading whitespace removed.

|      If chars is given and not None, remove characters in chars instead.

>>> str20='123abc ABC '

>>>str20.lstrip()

'123abc ABC '

strip()将左右两边空格剪掉,rstrip()将右边空格剪掉

|  partition(...) 以某个字符切片字符串,返回三元组,中间是分隔符,找不到则返回源字符串和2个空格

|      S.partition(sep) -> (head, sep, tail)

|

|      Search for the separator sep in S, and return the part before it,

|      the separator itself, and the part after it.  If the separator is not

|      found, return S and two empty strings.

>>> str21='http://www.baidu.com'

>>> str21.partition('://'... )

('http', '://', 'www.baidu.com')

>>> str21.partition('abc')

('http://www.baidu.com', '', '')

|  replace(...)  字符替换,默认全部替换,如指定计数则替换指定计数个数字符

|      S.replace(old, new[, count]) -> str

|

|      Return a copy of S with all occurrences of substring

|      old replaced by new.  If the optional argument count is

|      given, only the first count occurrences are replaced.

>>>str21

'http://www.baidu.com'

>>> str21.replace('baidu','jd')

'http://www.jd.com'

>>> str21.replace('w','z')

'http://zzz.baidu.com'

>>> str21.replace('w','z',1)

'http://zww.baidu.com'

|  rfind(...) 从左往右查找,并返回最右边的字符索引位置

|      S.rfind(sub[, start[, end]]) -> int

|

|      Return the highest index in S where substring sub is found,

|      such that sub is contained within S[start:end].  Optional

|      arguments start and end are interpreted as in slice notation.

|

|      Return -1 on failure.

>>>str21

'http://www.baidu.com'

>>> str21.rfind('b')

11

>>> str21.rfind('w')

9

|  rindex(...)

|      S.rindex(sub[, start[, end]]) -> int

|

|      Like S.rfind() but raise ValueError when the substring is not found.

|  rjust(...) 字符靠右,左边补全字符,默认空格

|      S.rjust(width[, fillchar]) -> str

|

|      Return S right-justified in a string of length width. Padding is

|      done using the specified fill character (default is a space).

|rjust(...)

| S.rjust(width[, fillchar]) ->str

|

| Return S right-justified in a string of length width. Padding is

| done using the specified fill character (default is a space).

>>> str10.rjust(10,'x')

'xxxxxxx123'

|  rpartition(...) 无法找到切片字符串,则源字符串索引是2,前面是空格

|      S.rpartition(sep) -> (head, sep, tail)

|

|      Search for the separator sep in S, starting at the end of S, and return

|      the part before it, the separator itself, and the part after it.  If the

|      separator is not found, return two empty strings and S.

>>> str21.rpartition('://')

('http', '://', 'www.baidu.com')

>>> str21.rpartition('abc')

('', '', 'http://www.baidu.com')

|  split(...) 默认分隔符空格 \t \n,可以指定分割次数

|      S.split(sep=None, maxsplit=-1) -> list of strings

|

|      Return a list of the words in S, using sep as the

|      delimiter string.  If maxsplit is given, at most maxsplit

|      splits are done. If sep is not specified or is None, any

|      whitespace string is a separator and empty strings are

|      removed from the result.

>>> str21.split('w')

['http://', '', '', '.baidu.com']

>>> str21.split('w',1)

['http://', 'ww.baidu.com']

>>> str21.split('w',2)

['http://', '', 'w.baidu.com']

>>> str21.split('w',3)

['http://', '', '', '.baidu.com']

|  rsplit(...) 右边第一个分割符开始切分,默认全切分,可以指定分割次数

|      S.rsplit(sep=None, maxsplit=-1) -> list of strings

|

|      Return a list of the words in S, using sep as the

|      delimiter string, starting at the end of the string and

|      working to the front.  If maxsplit is given, at most maxsplit

|      splits are done. If sep is not specified, any whitespace string

|      is a separator.

>>> str21.rsplit('w')

['http://', '', '', '.baidu.com']

>>> str21.rsplit('w',1)

['http://ww', '.baidu.com']

>>> str21.rsplit('w',2)

['http://w', '', '.baidu.com']

>>> str21.rsplit('w',3)

['http://', '', '', '.baidu.com']

|  splitlines(...) 行分割

|      S.splitlines([keepends]) -> list of strings

|

|      Return a list of the lines in S, breaking at line boundaries.

|      Line breaks are not included in the resulting list unless keepends

|      is given and true.

>>> str22='www\nbaidu\ncom'

>>>str22.splitlines()

['www', 'baidu', 'com']

|  startswith(...)  同endswith()

|      S.startswith(prefix[, start[, end]]) -> bool

|

|      Return True if S starts with the specified prefix, False otherwise.

|      With optional start, test S beginning at that position.

|      With optional end, stop comparing S at that position.

|      prefix can also be a tuple of strings to try.

|  swapcase(...)   字符串中大小写转换,大写变小写,小写变大写--- upper(),lower()

|      S.swapcase() -> str

|

|      Return a copy of S with uppercase characters converted to lowercase

|      and vice versa.

>>> str23='asdf123'

>>>str23.swapcase()

'ASDF123'

>>> str24='ABcd222'

>>>str24.swapcase()

'abCD222'

|  title(...)  返回一个titile标题

|      S.title() -> str

|

|      Return a titlecased version of S, i.e. words start with title case

|      characters, all remaining cased characters have lower case.

>>> str25='a good persion asdf 213'

>>>str25.title()

'A Good Persion Asdf 213'

|  zfill(...)  总长width个字符,前面补0

|      S.zfill(width) -> str

|

|      Pad a numeric string S with zeros on the left, to fill a field

|      of the specified width. The string S is never truncated.

>>> str25.zfill(30)

'0000000a good persion asdf 213'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值