目录

python学习之字符串

最近突然想学学python,所以就开一个专栏来写与python有关的博客

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.is () # S是否是首字母大写的
收藏 打印