python学习之字符串
目录
python学习之字符串
最近突然想学学python,所以就开一个专栏来写与python有关的博客
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
1. python字符串概述
  字符串是Python中最常用的数据类型。我们可以使用引号('或")来创建字符串。创建字符串很简单,只要为变量分配一个值即可。var1 = 'Hello World!' 或 var2 = "Runoob"。值得注意的是,python不支持单字符串类型,单字符在python中也作为一个字符串来使用。
   
2. Python字符串运算符
| 操作符 | 描述 | 实例 | 
|---|---|---|
+ |  
   字符串连接 | 'abc' + 'qwe' 输出结果: abcqwe | 
* |  
   重复输出字符串 | 'py'*2 输出结果:pypy | 
[] |  
   通过索引获取字符串中字符 | a='aedc' -> a[1] 输出结果 e | 
[ : ] |  
   截取字符串中的一部分,遵循左闭右开原则 | a='well' ->a[1:4] 输出结果 ell | 
in |  
   成员运算符 - 如果字符串中包含给定的字符返回 True | 'H' in 'High' 输出结果 True | 
not in |  
   成员运算符 - 如果字符串中不包含给定的字符返回 True | 'M' not in 'High' 输出结果 True | 
r/R |  
   原始字符串:所有的字符串都是直接按照字面的意思来使用。 | print(r'\\\t\\') -> \\\t\\ |  
  
3. python字符串格式化
| 符号 | 描述 | 
|---|---|
| %c | 格式化字符及其ASCII码 | 
| %s | 格式化字符串 | 
| %d | 格式化整数 | 
| %u | 格式化无符号整型 | 
| %o | 格式化无符号八进制数 | 
| %x | 格式化无符号十六进制数 | 
| %X | 格式化无符号十六进制数(大写) | 
| %f | 格式化浮点数字,可指定小数点后的精度 | 
| %e | 用科学计数法格式化浮点数 | 
| %g | %f和%e之间自动选择输出格式 | 
4. 常用内建函数
| 方法 | 描述 | 代码展示 | 
|---|---|---|
| capitalize() | 将字符串的第一个字母转换为大写 | 'abc'.capitalize() -> 'Abc' |  
  
| center(width, fillchar) | 返回指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认空格。 | 'abcd'.center(10,*) -> ***abcd*** |  
  
| count(str, beg= 0,end=len(string)) | 返回 str 在 string 里面出现的次数,beg 或者 end 指定范围 | 'wooo'.count('o') -> 3 |  
  
| endswith(suffix, beg=0, end=len(string)) | 检查字符串是否以 obj 结束,beg 或者 end 指定检查指定的范围 | 'book'.endswith('ok') -> True |  
  
| startswith(substr, beg=0,end=len(string)) | 检查字符串是否是以指定子字符串 substr 开头 | 'book'.startswith('ok') -> False |  
  
| expandtabs(tabsize=8) | 把字符串 string 中的 tab 符号转为空格,默认的空格数是 8 。 | 'abc\td'.expandtabs(10) -> abc d |  
  
| find(str, beg=0 end=len(string)) | 检测str是否包含在字符串中,beg和end指定范围 | 'abcd'.find('c') -> 2 |  
  
| index(str) | 跟find()方法一样,只不过如果str不在字符串中会报一个异常. | 'abcd'.index('d') -> 3 |  
  
| isalnum() | 如果字符串至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False | 'abc123d_'.isalnum() -> False |  
  
| join(seq) | 以指定字符串作为分隔符,将seq合并为一个新的字符串 | '-'.join(('a','b','c')) -> a-b-c |  
  
| lower() | 转换字符串中所有大写字符为小写. | 'ABCD'.lower() -> abcd |  
  
| lstrip() | 截掉字符串左边的空格或指定字符。 | '---abc---'.lstrip('-') ->'abc---' |  
  
| rstrip() | 删除字符串字符串末尾的空格. | '---abc---'.rstrip('-') ->'---abc' |  
  
| strip([chars]) | 在字符串上执行 lstrip()和 rstrip() | '---abc---'.strip('-') ->'abc' |  
  
| replace(old, new [, max]) | 把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。 | '---abc---'.replace('a','c') -> ---cbc--- |  
  
| split(str=""[, num]) | num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num 个子字符串 | 'abcabcabc'.split('a',2) -> ['', 'bc', 'bcabc'] |  
  
| partition(sep) | 从左向右遇到分隔符把字符串分割成两部分,返回头、分割符、尾三部分的三元组。 | 'abcabcabc'.partition('b') -> ('a', 'b', 'cabcabc') |  
  
| splitlines([keepends]) | 按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,参数 keepends 为 False,不包含换行符,反之保留。 | 'ab c\n\nde'.splitlines() -> ['ab c', '', 'de'] |  
  
5. 常用方法
   去除空格和逗号
 s.strip().lstrip().rstrip(',')
   
   只显示字母与数字
def OnlyCharNum(s,oth=''):
    s2 = s.lower();
    fomart = 'abcdefghijklmnopqrstuvwxyz0123456789'
    for c in s2:
        if not c in fomart:
            s = s.replace(c,'');
    return s; 
截取字符串
str[0:3]    # 截取第一位到第三位的字符
str[:]      # 截取字符串的全部字符
str[6:]     # 截取第七个字符到结尾
str[:-3]    # 截取从头开始到倒数第三个字符之前
str[2]      # 截取第三个字符
str[-1]     # 截取倒数第一个字符
str[::-1]   # 创造一个与原字符串顺序相反的字符串
str[-3:-1]  # 截取倒数第三位与倒数第一位之前的字符
str[-3:]    # 截取倒数第三位到结 
字符串的测试、判断函数
S.isalnum() # 是否全是字母和数字,并至少有一个字符 
S.isalpha() # 是否全是字母,并至少有一个字符 
S.isdigit() # 是否全是数字,并至少有一个字符 
S.isspace() # 是否全是空白字符,并至少有一个字符 
S.islower() # S中的字母是否全是小写 
S.isupper() # S中的字母是否便是大写 
S.istitle() # S是否是首字母大写的
                    更多精彩
		
													
													
													
													
	
		
